Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

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 19: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.021
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 20: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.021
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
  #8  
Antiguo 04-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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.

Yo utilizo algo parecido a:
Código Delphi [-]
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  B: TBitmap;
  R: TRect;
begin
  if Column.FieldName = 'CampoDelBitmap' then
  begin
    TDBGrid(Sender).Canvas.FillRect(Rect);
    B:= TBitmap.Create;
    try
      ImageList1.GetBitMap(TDBGrid(Sender).DataSource.DataSet.FieldByName('Opcion').AsInteger + 1, B); 
      B.Width:= Rect.Right - Rect.Left;
      B.Height:=Rect.Bottom - Rect.Top;
      DBGrid1.Canvas.StretchDraw(Rect, B);
    finally
      B.Free;
    end;
    R:= Rect;
    R.Left := R.Left + R.Bottom - R.Top;
    DBGrid1.DefaultDrawColumnCell(R, DataCol, Column, State);
  end;
end;
Permite el usar varias imágenes para distintos valores, pero el código de Casimiro realmente es mucho más simple... (y ya me lo copié )

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-05-2012 a las 05:29:58.
Responder Con Cita
  #9  
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.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
(y ya me lo copié )
¿Y mis derechos de autor?, espera que recuerde... ah, no, si yo también lo copié
Responder Con Cita
  #10  
Antiguo 04-05-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Yo también lo hacia cómo ecfisa pero el tuyo casimiro notevi, es más corto y no hay que crear ni destruir ningún Objecto, no te acostaras sin saber algo más.

Perdón pero yo también me lo he copiado.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #11  
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.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por olbeup Ver Mensaje
Perdón pero yo también me lo he copiado.
¡Copiad, malditos!

Última edición por Casimiro Notevi fecha: 04-05-2012 a las 14:44:35.
Responder Con Cita
  #12  
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
Thumbs up

Justamente buscaba lograr eso...

Copio a casimiro.
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


La franja horaria es GMT +2. Ahora son las 19:37:22.


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