Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2005
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
DBgrid con checks como ?

Hola amigos del foro como podria mostrar check en una columna del DBGrid de manera que podria activarlo o no..........
Acabo e ver post relacionados , pero a diferencia de esto no tengo campos booleanos , sino que deseo tener check en una columna de manera que al seleccionrlos me permitiria borrar el registro o registros, se que e puede hacer de otra manara mas facil pero me lo solicitan asi.

Espero sus comentarios...........

Última edición por Coco_jac fecha: 02-12-2005 a las 18:56:42.
Responder Con Cita
  #2  
Antiguo 02-12-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
intenta esto, teniendo una imagelist con dos bitmaps, una para el estado cheked y otra para el unchecked, el evento es el OnDrawColumnCell:

Código:
  if Column.Field = campo then
  begin
    DBGrid1.Canvas.FillRect(Rect);
    if campo.value = 0 then //unchecked condition
      ImageList1.Draw(DBGrid1.Canvas,Rect.Left+10,Rect.Top+1,0)
    else  //checked condition
      ImageList1.Draw(DBGrid1.Canvas,Rect.Left+10,Rect.Top+1,1);
  end;
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #3  
Antiguo 02-12-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Añade un campo calculado y que sea éste el que conviertas en un checkbox, como te indica Delfino

Última edición por Casimiro Notevi fecha: 02-12-2005 a las 19:58:44.
Responder Con Cita
  #4  
Antiguo 02-12-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 19
el_barto Va por buen camino
Usalo

este problema me aquejo hace ya un tiempo, y esta explicado aqui:

http://www.clubdelphi.com/foros/show...t=dbgrid+check

ademas agregaria esto :

dbgrid1.SelectedIndex:=cualquiera;

para que el efecto del click sea mas original aun.
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #5  
Antiguo 27-04-2012
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 19
amadis Va por buen camino
alguien probo con lo de los bitmaps?

Alguien probò esto de los bitmaps?

Parece simple y muy estetico pero no pude hacerlo funcionar.

Código Delphi [-]
 if Column.Field = campo then
  begin
    DBGrid1.Canvas.FillRect(Rect);
    if campo.value = 0 then //unchecked condition
      ImageList1.Draw(DBGrid1.Canvas,Rect.Left+10,Rect.Top+1,0)
    else  //checked condition
      ImageList1.Draw(DBGrid1.Canvas,Rect.Left+10,Rect.Top+1,1);
  end;
Responder Con Cita
  #6  
Antiguo 04-05-2012
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 19
amadis Va por buen camino
nadie?

Nadie lo ha probado?

Neftali no estas por ahi con tu sabidurìa como para dar opinión al respecto?

Saludos a todos
Responder Con Cita
  #7  
Antiguo 04-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Te refieres a pintar los checkbox cargando una pequeña imagen?. sí, es algo habitual, lo hago normalmente así:

Código Delphi [-]
procedure TFempresas.grUsuaDrawColumnCell(Sender: TObject; const Rect: TRect; 
  DataCol: Integer; Column: TColumn; State: TGridDrawState); 
begin   // pintar los checkbox 
  if AnsiLowerCase(Column.Field.FieldName) = _acceso_ then 
  begin 
    (Sender As TDBGrid).Canvas.FillRect( Rect ); 
    imglst2.Draw((Sender As TDBGrid).Canvas,Rect.Left+10,Rect.Top+1,0); 
    if Column.Field.Value=1 then 
      imglst2.Draw((Sender As TDBGrid).Canvas,Rect.Left+10,Rect.Top+1,2) 
    else 
      imglst2.Draw((Sender As TDBGrid).Canvas,Rect.Left+10,Rect.Top+1,0{1});  // 0.en blanco 1.no 2.si 
  end;
end;
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 04:15:36.


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