Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2013-02

Asignar datos a celdas de un DBGrid

6 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Anxo Vázquez

Tengo el siguiente c�digo:

procedure TfrmPedVen.ZqryLinPedvcodartChange(Sender: TField);
 begin
  ZqryArt.Open;
  ZqryArt.First;
  while not ZqryArt.EOF do
   begin
    if Sender.AsString = ZqryArt.FieldByName('codigo').AsString then
      begin
       dbgLinFac.Column[1].Celda := ZqryArt.FieldByName('descri').AsString;
  //Aqu� es donde trato de asignar, sin �xito, el valor a la celda del
grid.
     end;
   ZqryArt.Next;
  end;
  ZqryArt.Close;
end;

Lo que trato de hacer es que al seleccionar un valor de un Picklist este se asigne a la primera celda del DBGrid, esto lo hace bien, y que en la siguiente celda aparezca la descripci�n, cosa que no consigo.

Un saludo y mucahs gracias.
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130211/8065e8e8/attachment.html>

Reply by email

Maxi
to Anxo Vázquez

Si es un dbgrid debes cambial los datos del campo al que apunta.

El 11 de febrero de 2013 09:51, Anxo V�zquez <xanxov en esdebian.org> escribi�:

Show quoted text 31 lines
Tengo el siguiente c�digo: procedure TfrmPedVen.ZqryLinPedvcodartChange(Sender: TField); begin ZqryArt.Open; ZqryArt.First; while not ZqryArt.EOF do begin if Sender.AsString = ZqryArt.FieldByName('codigo').AsString then begin dbgLinFac.Column[1].Celda := ZqryArt.FieldByName('descri').AsString; //Aqu� es donde trato de asignar, sin �xito, el valor a la celda del grid. end; ZqryArt.Next; end; ZqryArt.Close; end; Lo que trato de hacer es que al seleccionar un valor de un Picklist este se asigne a la primera celda del DBGrid, esto lo hace bien, y que en la siguiente celda aparezca la descripci�n, cosa que no consigo. Un saludo y mucahs gracias. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130214/dafe16bf/attachment.html>

Reply by email

Anxo Vázquez
to Maxi

Como y donde.
Un saludo.

El 14 de febrero de 2013 16:54, Maxi <maximiliano.duarte en gmail.com>escribi�:

Show quoted text 53 lines
Si es un dbgrid debes cambial los datos del campo al que apunta. El 11 de febrero de 2013 09:51, Anxo V�zquez <xanxov en esdebian.org>escribi�: > Tengo el siguiente c�digo: > > procedure TfrmPedVen.ZqryLinPedvcodartChange(Sender: TField); > begin > ZqryArt.Open; > ZqryArt.First; > while not ZqryArt.EOF do > begin > if Sender.AsString = ZqryArt.FieldByName('codigo').AsString then > begin > dbgLinFac.Column[1].Celda := > ZqryArt.FieldByName('descri').AsString; //Aqu� es donde trato de asignar, > sin �xito, el valor a la celda del grid. > end; > ZqryArt.Next; > end; > ZqryArt.Close; > end; > > Lo que trato de hacer es que al seleccionar un valor de un Picklist este > se asigne a la primera celda del DBGrid, esto lo hace bien, y que en la > siguiente celda aparezca la descripci�n, cosa que no consigo. > > Un saludo y mucahs gracias. > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130215/48eef9ec/attachment.html>

Reply by email

José Mejuto
to Anxo Vázquez

El 15/02/2013 9:51, Anxo V�zquez escribi�:

Como y donde.

Hola,

Quiere decir que el DBGrid es s�lo una representaci�n virtual del contenido del dataset asociado, por lo tanto esta linea:

dbgLinFac.Column[1].Celda :=ZqryArt.FieldByName('descri').AsString;
//Aqu� es donde trato de asignar, sin �xito, el valor a la celda del //grid.

No va a funcionar. Necesitar�as algo como:

dbgLinFac.DataSource.DataSet.FieldByName('descripcion').asString:=ZqryArt.FieldByName('descri').AsString;

O sea, que modificas el dataset asociado al DBGrid.

Reply by email

Alfred Rivera
to José Mejuto

Alguna vez que me ha pasado algo parecido en delphi, curiosamente usando una variable temporal, funcionaba ok.

Es decir:

var TempString

TempString:=ZqryArt.FieldByName('descri').AsString;
dbgLinFac.Column[1].Celda :=TempString

Prueba por curiosidad.

El 15/02/2013 12:36, Jos� Mejuto escribi�:

Show quoted text 19 lines
El 15/02/2013 9:51, Anxo V�zquez escribi�: > Como y donde. Hola, Quiere decir que el DBGrid es s�lo una representaci�n virtual del contenido del dataset asociado, por lo tanto esta linea: dbgLinFac.Column[1].Celda :=ZqryArt.FieldByName('descri').AsString; //Aqu� es donde trato de asignar, sin �xito, el valor a la celda del //grid. No va a funcionar. Necesitar�as algo como: dbgLinFac.DataSource.DataSet.FieldByName('descripcion').asString:=ZqryArt.FieldByName('descri').AsString; O sea, que modificas el dataset asociado al DBGrid.

Reply by email

Anxo Vázquez
to Alfred Rivera

En Delphi hay algo parecido a DBgrid.Column[n]. Field.Text pero en Lazarus da error. La soluci�n que propone Jos� es la que buscaba. Funciona perfectanmente.
Un saludo y muchas gracias.:)

---------- Mensaje reenviado ----------
De: Alfred Rivera <alfred en arsistemes.com>
Fecha: 15 de febrero de 2013 12:52
Asunto: Re: [Lazarus-es] Asignar datos a celdas de un DBGrid Para: lazarus-es en lists.lazarus.freepascal.org

Alguna vez que me ha pasado algo parecido en delphi, curiosamente usando una variable temporal, funcionaba ok.

Es decir:

var TempString

TempString:=ZqryArt.FieldByName('descri').AsString;
dbgLinFac.Column[1].Celda :=TempString

Prueba por curiosidad.

El 15/02/2013 12:36, Jos� Mejuto escribi�:

Show quoted text 15 lines
El 15/02/2013 9:51, Anxo V�zquez escribi�: > Como y donde. Hola, Quiere decir que el DBGrid es s�lo una representaci�n virtual del contenido del dataset asociado, por lo tanto esta linea: dbgLinFac.Column[1].Celda :=ZqryArt.FieldByName('descri').AsString; //Aqu� es donde trato de asignar, sin �xito, el valor a la celda del //grid. No va a funcionar. Necesitar�as algo como:
dbgLinFac.DataSource.DataSet.FieldByName('descripcion').asString:=ZqryArt.FieldByName('descri').AsString;
O sea, que modificas el dataset asociado al DBGrid.

Reply by email