Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Checkbox en un DBGrid

Buenas a todos. A ver si me podéis ayudar que no sé por dónde salir. La aplicaicón está hecah con Builder 6 y tengo este DBGrid cargado a partir de una tabla en FB, por lo tanto no tiene campos tipo BOOL y uso uno SMALLINT, en el que he conseguido meter un Checkbox cogiendo trozos de código.

Y tengo este código:
Código:
void __fastcall TfAboRec::DBGrid1DrawColumnCell(TObject *Sender,
      const TRect &Rect, int DataCol, TColumn *Column,
      TGridDrawState State)
{
     TCanvas *c = DBGrid1->Canvas;
     if (Column->FieldName == "SELECCION")
          DibujarCheckBox(c, Rect, Column->Field->AsInteger);
     else
          DBGrid1->DefaultDrawColumnCell(Rect, DataCol, Column, State);
}
//---------------------------------------------------------------------------

void __fastcall TfAboRec::DibujarCheckBox(TCanvas *c, const TRect &Rect, int Valor)
{
     TRect r = Rect;
     UINT Checked = (!Valor ? DFCS_BUTTONCHECK : DFCS_BUTTONCHECK | DFCS_CHECKED);
     c->FillRect(Rect);
     r.Top += 2;
     r.Bottom -= 1;
     r.Left += 1;
     r.Right -= 1;
     DrawFrameControl(c->Handle, (RECT*)&r, DFC_BUTTON, DFCS_BUTTONCHECK | Checked);
}
//---------------------------------------------------------------------------

void __fastcall TfAboRec::DBGrid1CellClick(TColumn *Column)
{
     int nValor;

     if (Column->FieldName == "SELECCION")
     {
          nValor = Column->Field->AsInteger;

          fPersona->tTemp->Edit();
          fPersona->tTemp->FieldValues[Column->FieldName] = !nValor;
          fPersona->tTemp->Post();
     }
}
//---------------------------------------------------------------------------
Se compila y ejecuta sin ningún problema y el checkbox se marca y desmarca bien, pero a la hora de actualizar el valor de la tabla en función de si está o no marcado el Checkbox no me modificac nada y no sé como arreglarlo.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
CheckBox en DBGrid DrkMgc Varios 9 18-05-2011 17:41:47
Checkbox en un DBGrid alfil123 Conexión con bases de datos 1 25-10-2006 19:02:57
Checkbox en un dbgrid el_barto OOP 7 25-08-2005 10:08:21
DBgrid y Checkbox santi Varios 2 24-01-2005 18:25:53
CheckBox en un DBGrid DJ VMan MySQL 4 26-06-2003 17:05:26


La franja horaria es GMT +2. Ahora son las 01:12:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi