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 23-08-2012
Willo Willo is offline
Miembro
 
Registrado: jun 2006
Posts: 116
Poder: 18
Willo Va por buen camino
tomar una parte de un Picklist en un dbgrid

Hola a todos...

Tengo un dbgrid en D7 y defini un picklist para una columna, hay alguna forma de poner en el campo, solo una parte del valor que se selecciona?

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 24-08-2012
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Poder: 18
Cañones Va por buen camino
Cita:
Empezado por Willo Ver Mensaje
Hola a todos...

hay alguna forma de poner en el campo, solo una parte del valor que se selecciona?

Gracias de antemano
Podés citar un ejemplo, porque no logro entender.
Responder Con Cita
  #3  
Antiguo 24-08-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
Cita:
Empezado por Willo Ver Mensaje
Tengo un dbgrid en D7 y defini un picklist para una columna, hay alguna forma de poner en el campo, solo una parte del valor que se selecciona?
Hola Willo.

La clase TStrings, clase a la que pertenece la propiedad PickList, no posee evento alguno para poder detectar el cambio, por lo tanto hay que buscar por otro lado quién nos avise. Un candidato con buena chance es el evento OnSetText del TField correspondiente a la columna que tiene asignado el PickList.

Para el ejemplo, supongamos que las cadenas almacenadas en el TString son: 'Item 01', 'Item 02',..., 'Item 09' y queremos que al seleccionar un item del PickList nos deje en el campo sólo los dos últimos caracteres: '01', '02', ...'09'.
Lo que tendríamos que hacer en este caso, es despreciar los primeros 5 caracteres: 'Item ', entonces vamos al ejemplo:

Código Delphi [-]
type
   TForm1 = class(TForm)
   ...
   private
     procedure DataSetCampoSetText(Sender: TField; const Text: String);
   public
   end;
...

implementation

procedure TForm1.DataSetCampoSetText(Sender: TField; const Text: String);
begin
  Sender.AsString := Copy(Text, 6, 2); // en caracter 6 está '0' guardo 2 a partir de él
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
begin
  for i := 1 to 9 do
    DBGrid1.Columns[0].PickList.Add('Item 0' + IntToStr(i));
  DataSet.FieldByName('Nombre_de_tu_Campo').OnSetText:= DataSetCampoSetText;
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
PickList en DBGrid muli OOP 0 16-05-2007 21:26:59
PickList en un DBGrid Neiro Varios 2 13-10-2006 01:08:03
PickList DBGrid (Pregunta acerca de los DBGRID) lazarous Varios 1 10-01-2006 09:53:12
PickList en DBGrid Johnny Q OOP 5 27-09-2005 18:46:55
PickList de un DBGrid Sr.Scorpion Varios 1 12-08-2005 21:55:42


La franja horaria es GMT +2. Ahora son las 07:31:55.


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