Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Miguel.

¿ Ya revisaste este ejemplo ?: CheckBox inside a DBGrid

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 05-05-2014
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Si ya vi ese ejemplo

Cita:
Empezado por ecfisa Ver Mensaje
Hola Miguel.

¿ Ya revisaste este ejemplo ?: CheckBox inside a DBGrid

Saludos
Gracias por contestar.

Si ecfisa, ya vi ese ejemplo. Pero al parecer es para campos boleanos....yo trabajo con Firebird 2.0 y ahi no hay campos boleanos. De hecho tengo un campo donde almaceno una "S" para identificar los pedidos que fueron surtidos y una "N" para los que no están en el supuesto.

En realidad no se como aplicarlo a mi codigo....veo q maneja un componente DBCheckBox....yo no lo uso....dejame probarlo.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #3  
Antiguo 05-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Miguel.

No es necesario que el campo sea booleano, para eso están las propiedades ValueChecked y ValueUnChecked del TDBCheckBox:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  with DBCheckBox1 do
  begin
    Caption:= '';
    ValueChecked:= 'S';
    ValueUnchecked:= 'N';
    Visible:= False;
  end;
  IBDataset1.Open;
end;
El resto del código sólo necesita unos cambios menores.
Código Delphi [-]
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
const
  IsChecked: array[Boolean] of Integer = (DFCS_BUTTONCHECK, DFCS_BUTTONCHECK+DFCS_CHECKED);
var
  DrawState: Integer;
  DrawRect: TRect;
begin
  if gdSelected in State then
  begin
    if Column.FieldName = DBCheckBox1.DataField then
    begin
      DBGrid1.Canvas.Brush.Style:= bsSolid;
      DBGrid1.Canvas.Rectangle(Rect.Left, Rect.Top, Rect.Right, Rect. Bottom);
      DBCheckBox1.Left    := Rect.Left + DBGrid1.Left + 2;
      DBCheckBox1.Top     := Rect.Top + DBGrid1.top + 2;
      DBCheckBox1.Width   := (Rect.Right - Rect.Left + 4) div 2;
      DBCheckBox1.Height  := Rect.Bottom - Rect.Top;
      DBCheckBox1.Visible := True;
      DBCheckBox1.SetFocus;
    end
  end
  else if Column.FieldName = DBCheckBox1.DataField then
    begin
      DrawRect := Rect;
      InflateRect(DrawRect,-1,-1);
      DrawState := IsChecked[Column.Field.AsString='S'];
      DBGrid1.Canvas.FillRect(Rect);
      DrawFrameControl(DBGrid1.Canvas.Handle,DrawRect,DFC_BUTTON,DrawState);
    end;
end;

procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
  with DBCheckBox1 do
    Visible:= not (DBGrid1.SelectedField.FieldName = DataField)
end;

procedure TForm1.DBCheckBox1Exit(Sender: TObject);
begin
  IBDataSet1.Edit;
  IBDataSet1.Post;
end;
...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 06-05-2014
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Agradezco Daniel tu respuesta....en estos momentos estoy probando el codigo. También me guiaré con lo q me comentas....

Nuevamente agradezco tu tiempo. Luego les cuento como fue...y publico el código final.

Saludos.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #5  
Antiguo 06-05-2014
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
oK...Excelente...ya lo probe y funciona al 90%...jajajaja...es que el checkbox se "pinta" tambien afuera del DbGrid1.

Checaré mas a fondo el código para solucionarlo....para mi q va a ser donde esta el codigo del procedimiento
DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);

Lo checo y les comento
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #6  
Antiguo 09-05-2014
Avatar de juanlaplata
juanlaplata juanlaplata is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Plata, Bs. As. (Argentina)
Posts: 212
Poder: 20
juanlaplata Va por buen camino
Evento DrawColumnCell del DBGrid
Código Delphi [-]
if Column.Field = 'Mover' then
  begin
    Grilla.Canvas.FillRect(Rect);

    ImageList1.Draw(Grilla.Canvas,
                    (Rect.Right - Rect.Left) div 2,
                    Rect.Top+1,
                    0);

    if Base.MovimientosMover.AsBoolean then
      ImageList1.Draw(Grilla.Canvas,Rect.Left+10,Rect.Top+1,2);
  end;

Evento CellClick del DBGrid
Código Delphi [-]
if (Column.FieldName = 'Mover') then
  begin
  Base.Movimientos.Edit;
  Base.MovimientosMover.AsBoolean:= not(Base.MovimientosMover.AsBoolean);
  Base.Movimientos.Post;
  end;
Las imagenes q dibujo ...
Imágenes Adjuntas
Tipo de Archivo: jpg image_List.jpg (32,9 KB, 11 visitas)
Responder Con Cita
  #7  
Antiguo 09-05-2014
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Ok gracias juanlaplata por tu colaboración.

No estoy trabajando con imagenes, pero es otra opción que exploraré y ver que tan efectivo es para mi aplicación....si es lo que se necesita.

Te agradezco tu tiempo.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 RoyTan Tablas planas 2 11-03-2007 18:02:44
Checkbox en un DBGrid alfil123 Conexión con bases de datos 1 25-10-2006 19:02:57
DBGrid con CheckBox lgarcia OOP 2 03-03-2005 22:15:30
DBGrid y CheckBox seb@ OOP 2 17-10-2003 15:04:54


La franja horaria es GMT +2. Ahora son las 21:42:43.


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