Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Selecionar renglones DBGrid

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Selecionar renglones DBGrid Responder citando

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
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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.
_________________
Cool


Ultima edición por Cesar C. Salazar Gonzalez el Jue 03 May, 2007 7:39 am, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

muchisiisimas gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.