Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 09-02-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 22
Héctor Randolph Va por buen camino
Hola Jymy!

Revisé el código que adjuntaste, sin embargo no he puedo ayudare a resolver el error que comentas porque en el form tienes una tabla que hace referencia a un Alias y obviamente no adjuntaste las bases de datos.

Espero que no te moleste si publicó parte de tu código de ejemplo, es tan sólo para hacer algunas recomendaciones.

Código Delphi [-]
var
  Form1: TForm1;
  Text : string;
  lst : TStrings;

implementation

{$R *.dfm}

procedure TForm1.Table1LARGOGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  Text:= Trim (Sender.asString);
  //lst := TStringList.Create;
  //lst.Add(Sender.asString);
  //DBGrid1.Columns[0].PickList := lst;
end;

procedure TForm1.Table1LARGOSetText(Sender: TField; const Text: String);
begin
  Sender.AsString := Text;
end;

procedure TForm1.DBGrid1EditButtonClick(Sender: TObject);
begin
  //DBGrid1.Columns[0].PickList := lst;
  //DBMemo1.Visible := true;
end;

En primer lugar, es correcto utilizar el evento OnGetText para mostrar el contenido del campo y evitar que aparezca el texto [Memo] en el DBGrid, pero no considero necesario utilizar el evento OnSetText.

Otra recomendación es que para editar el campo memo, utilices otra ventana que se mostrará cuando el usuario pulse sobre botón de edición en la celda del DBGrid.

Por ejemplo en el evento OnEditButtonClick puedes hacer algo como esto:

Código Delphi [-]
procedure TForm1.DBGrid1EditButtonClick(Sender: TObject);
begin
  with (Sender as TDBGrid) do
    if Columns [SelectedIndex].FieldName='LARGO' then
      with TForm2.Create(Self) do
      try
        ShowModal;//Muestra el Form2 que contiene el campo memo
      finally
        Free;
      end;
end;

De esta forma si la columna seleccionada está ligada con el campo que se llama 'LARGO', entonces abres otra ventana (Form2) con el campo memo que quieres editar.

*********************************************************
Por otra parte la propiedad PickList sirve para mostrar una lista desplegable dentro de una celda del DBGrid, es como un ListBox en donde puedes agregar elementos para que el usuario los seleccione al momento de editar la celda.

Un ejemplo:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  DBGrid1.Columns[0].ButtonStyle:=cbsAuto;
  DBGrid1.Columns[0].PickList.Add('Elemento 1');
  DBGrid1.Columns[0].PickList.Add('Elemento 2');
  DBGrid1.Columns[0].PickList.Add('Elemento 3');
end;

Esto mostrará una lista desplegable en la primera columna del DBGrid.

Espero que se haya aclarado algo, un saludo.
Responder Con Cita
 


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 03:15:03.


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