![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Tienes un DBGrid1 que te muestra la información que tienes en la BD o sea: Nombre, Sexo, Edad, y quieres pasar para el DBGrid2 solo aquellos que te interesan. O sea estas haciendo una selección de los datos del DBGrid1 y pasandolos al DBGrid2 por eso necesitas saber como pasar datos de un DBGrid a otro, supongo que después los guardarás en una tabla en tu BD sino para que utilizar un DBGrid verdad? Bueno porque en vez de pasar los datos de un DBGrid a otro no guardas directamente la selección hecha a la tabla en la BD y después apuntas el DBGrid2 a dicha tabla ? Código:
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("INSERT INTO `equipo` (`id_equipo`,`nombre`,`sexo`,`edad`) VALUES "
" ('" + DBGrid1->Columns->Items[0]->Field->Text + "'), "
" ('" + DBGrid1->Columns->Items[1]->Field->Text + "'), "
" ('" + DBGrid1->Columns->Items[2]->Field->Text + "');");
ADOQuery3->ExecSql();
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM `equipo`")
ADOQuery1->Open();
DBGrid2->DataSource->DataSet = ADOQuery1;
LISTA (de jugadores) Id_lista = para definir cada registro como único Nombre = donde definirías el nombre de los jugadores Sexo = donde definirías el sexo de los jugadores Edad = donde definirías la edad de los jugadores EQUIPO Id_equipo = para definir cada registro como único Equipo = donde definirías el numero de equipo Integrante = donde definirías que jugador forma parte de el AsumieNdo que en el DBGrid1 muestres el ID como primer valor en el DBGrid1 (sino lo muestras tendrás que hacer una consulta aparte para obtenerlo ok) Código:
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("INSERT INTO `equipo` (`equipo`,`integrante`) VALUES
" ('" + Edit1->Text + "')," // o cualquier otro lugar donde definas el número de equipo
" ('" + DBGrid1->Columns->Items[0]->Field->Text + "');"); // id del jugador
ADOQuery3->ExecSql();
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT equipo.equipo, lista.nombre, lista.edad, lista.sexo FROM `prueba`.`lista`
INNER JOIN equipo ON integrante = id_lista ORDER BY equipo.equipo;")
ADOQuery1->Open();
DBGrid2->DataSource->DataSet = ADOQuery1;
Saludos
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código. Cuando miras fijamente al abismo, este te devuelve la mirada oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_ oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_ oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_ oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_ oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_ ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_ ________________________________________________________________________________ Última edición por lmpadron fecha: 12-03-2012 a las 16:28:51. |
|
#2
|
||||
|
||||
|
Cita:
Si no interpreto mál, ese código copia el registro actualmente seleccionado, pero no soporta el caso de una selección múltiple en el TDBGrid. Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#3
|
||||
|
||||
|
Cita:
![]() ![]() y no solo eso, al correrlo descubrí también una serie de pequeños detalles que hubiesen vuelto loco a cualquiera jejejeje bueno aquí les dejo el código, esta vez soportando el Multiselect !!!Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String a;
a = " ";
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
if (DBGrid1->SelectedRows->Count != 0)
{
for (int i = 0; i < DBGrid1->SelectedRows->Count; i++)
{
DBGrid1->DataSource->DataSet->GotoBookmark(DBGrid1->SelectedRows->Items[i].c_str());
a = a + " ('" + Edit1->Text + "'," // o cualquier otro lugar donde definas el número de equipo
"'" + DBGrid1->Columns->Items[0]->Field->Text + "')";
if (i != DBGrid1->SelectedRows->Count - 1){a = a + ",";}
}
ADOQuery2->SQL->Add("INSERT INTO equipo (equipo,integrante) VALUES " + a);
ADOQuery2->ExecSQL();
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("SELECT equipo.equipo, lista.nombre, lista.edad, lista.sexo FROM `prueba`.`lista` "
" INNER JOIN equipo ON integrante = id_lista ORDER BY equipo.equipo");
ADOQuery2->Open();
}
}
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código. Cuando miras fijamente al abismo, este te devuelve la mirada oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_ oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_ oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_ oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_ oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_ ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_ ________________________________________________________________________________ |
|
#4
|
|||
|
|||
|
Excelente amigo, justo lo que necesitaba, muchas gracias a los 2.Un pequeño detalle es que aun no encuentro lo de la selección múltiple en el TDBGrid. En el ejemplo que puso Impadrom
Código:
if (DBGrid1->SelectedRows->Count != 0) Código:
DBGrid1->Options = TDBGridOptions(DBGrid1->Options) << dgMultiSelect; Código:
DBGrid1->SelectedRows->Count |
|
#5
|
||||
|
||||
|
Cita:
Hola Luis Miguel la selección múltiple es una propiedad del TDBGrid y puedes definiría en el Object Inspector o en el runtime a través de código como te han indicado anteriormente. Para efectuar la selección debes dar click en una fila y después con el Ctrl apretado dar click en otra !!! El código solo funcionará cuando exista multiselect o sea cuando halla mas de una fila seleccionada. Saludos Última edición por lmpadron fecha: 13-03-2012 a las 14:01:39. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Pasar datos de un DBGrid a otro DBGrid | lucas05 | Varios | 13 | 29-01-2015 21:52:50 |
| Pasar registros desde un dbgrid a otro dbgrid con botones.. | Vales08 | Varios | 17 | 21-11-2011 19:27:50 |
| Pasar Datos De Dbgrid A Otro | Helg17 | Tablas planas | 7 | 27-03-2009 10:16:37 |
| Pasar lineas de in dbgrid a otro dbgrid | look | OOP | 3 | 21-09-2007 23:16:29 |
| Como extraer datos de un DBgrid a otro DBgrid | mickey | Conexión con bases de datos | 13 | 29-01-2004 05:05:30 |
|