| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Vie 31 Mar, 2006 11:12 pm Asunto: Selecionar renglones DBGrid |
|
|
Que tal colegas.
Resulta que tengo un DBGrid cuya propiedad dgMultiSelect = true. Esto significa que el usuario puede seleccionar varios renglones a la vez. Lo que he tratado de hacer es emular este comportamiento pero por código, deseo que se seleccionen todos los renglones del DBGrid.
¿Alguien ha seleccionado los renglones de un DBGrid a través de código? Me he estado quemando las pestañas y no lo he conseguido.
Cualquier sugerencia sera bienvenida!
Saludos _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
ZHAX1 Master

Registrado: 09 Mar 2007Mensajes: 191
|
Publicado: Mie 02 May, 2007 5:13 pm Asunto: |
|
|
Ola necesito hacer esto mismo, por codigo, seleccionar varios "rows" o todos, ¿alguien sabe como puedo seleccionar todos los "rows" por codigo?
Gracias. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 02 May, 2007 6:22 pm Asunto: |
|
|
Existen muchas maneras de hacerlo, la mas común o la mas usada es la siguiente, he puesto un DBGrid, un boton, y 1 componente para conectarme a una tabla asi como el Datasource Correspondiente.
Table1:
DatabaseName = DBDEMOS
TableName = Animals.dbf
DataSource1:
DataSet = Table1
DBGrid1:
DataSource = DataSource1
Options->dgMultiSelect = true
y creando una funcion como la siguiente
| Código: | #include <vcl>
#pragma hdrstop
#include "UGridSelect.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall SeleccionarRows(TDBGrid *pG)
{
TDBGrid *pGrid = static_cast<TDBGrid*>(pG);
pGrid->SelectedRows->Clear();
pGrid->DataSource->DataSet->First();
pGrid->DataSource->DataSet->DisableControls();
while(!pGrid->DataSource->DataSet->Eof)
{
pGrid->SelectedRows->CurrentRowSelected = true;
pGrid->DataSource->DataSet->Next();
}
pGrid->DataSource->DataSet->EnableControls();
}
//---------------------------------------------------------------------------
|
Puedes seleccionar los registros que aparecen dentro del DBGrid,
y ya para completar, usando un boton, pones el codigo de esta manera
| Código: |
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SeleccionarRows(this->DBGrid1);
}
//--------------------------------------------------------------------------- |
Saludos. _________________

Ultima edición por Cesar C. Salazar Gonzalez el Jue 03 May, 2007 7:39 am, editado 1 vez |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mie 02 May, 2007 7:20 pm Asunto: |
|
|
Gracias César, debido al las prioridades había dejado en espera este tema. Lo probaré en cuanto tenga tiempo.
| César C. Salazar González escribió: |
(No entiendo por que no se presenta correctamente el codigo dentro de las funciones, el codigo de la linea
TDBGrid *pGrid = static_cast<TDBGrid>(pG);
|
Para evitar este "problemita" deshabilita el HTML en "este mensaje"... para hacerlo te aparecen varias opciones entre el cuadro donde escribes estas lineas y los botones de "vista prelimiar" y "enviar" del mensaje, con solo hacer clic en la opción "Deshabilitar HTML en este mensaje" se soluciona el problema.
Saludos! _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
ZHAX1 Master

Registrado: 09 Mar 2007Mensajes: 191
|
Publicado: Jue 03 May, 2007 7:32 am Asunto: |
|
|
| muchisiisimas gracias. |
|
| Volver arriba |
|
 |
|