Delphi - A Y U D A D B G R I D !!!

 
Vista:

A Y U D A D B G R I D !!!

Publicado por Karla (23 intervenciones) el 13/03/2004 07:14:59
Por favor quiero saber como puedo guardar una columna de datos calculados en mi tabla.
Y también quiero que los datos de una columna de un dbgrid aparezcan en distintos label's. P.e. si tengo una columna Nombre:
label1= Karla
label2=Fernando, etc
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE: Label datos DBGrid

Publicado por Nombre (14 intervenciones) el 13/03/2004 13:36:29
Supongo que lo que quieres es que cada vez que te muevas a otra línea del Grid aparezcan en algún label los datos de la linea seleccionado (registro actual), porque poner todos los datos de una columna en labels no tiene sentido, (imagina una base de datos con solo 1000 registros donde ponemos los 1000 labels de la columna nombre).

Si lo que quires es lo que yo entiendo puedes poner en el evento OnChange del DataSource con el que enlazas el grid esto para cada dato que quieras visualizar en un label:

Para el nombre por ejemplo:
LabelNombre.Caption := TableClientes.FieldByName(\'Nombre\').AsString

Para los apellidos por ejemplo:
LabelApellid.Caption:=TableClientesAPELLIDOS..AsString;

Suerte. TDS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

NO, EN LABELS!!!!!!!!!

Publicado por Karla (23 intervenciones) el 13/03/2004 20:02:24
Lo que pasa es que igual no tiene sentido, pero nunca en la vida voy a poder tener más de 10 registros (jamás) y necesito poner cada uno de los datos en labels distintos... por favor AYÚDAME!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO, EN LABELS!!!!!!!!!

Publicado por El Pelotas (40 intervenciones) el 14/03/2004 06:07:25
Necesitas esto:
With Tabla do
begin
Open;
First;
Label1.Caption := FieldByName(\'Nombre\').AsString;
Next;
if not eof then
Label2.Caption := FieldByName(\'Nombre\').AsString
else
Label2.Caption := '';
Next;
if not eof then
Label3.Caption := FieldByName(\'Nombre\').AsString
else
Label3.Caption := '';
end; // del while

sigues con los demas labels hasta que acabes
Pero este codigo es realmente malo.
Debes utilizar mejor un DBGrid o aunque sea un memo para despegar los datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Muchas gracias

Publicado por Karla (23 intervenciones) el 18/03/2004 02:45:34
Gracias Gracias....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO, EN LABELS!!!!!!!!!

Publicado por nombre (14 intervenciones) el 14/03/2004 13:52:20
Si sabes que no habrá más de 10 registros sí tiene sentido, y en ese caso podrías hacer esto por ejemplo:

procedure TFProb.BProbClick(Sender: TObject);
var
iX, iTotal : integer ;
begin
//al último registro, contar nº registros, volver al primero
TablaProb.Last;
iTotal := TablaProb.RecordCount;
TablaProb.First;
//recorremos la tabla
for iX := 1 to iTotal do
begin
//asignamos al label el valor correspondiente
case iX of
1: Label1.Caption := TablaProbNOMBRE.AsString;
2: Label2.Caption := TablaProbNOMBRE.AsString;
3: Label3.Caption := TablaProbNOMBRE.AsString;
4: Label4.Caption := TablaProbNOMBRE.AsString;
5: Label5.Caption := TablaProbNOMBRE.AsString;
6: Label6.Caption := TablaProbNOMBRE.AsString;
7: Label7.Caption := TablaProbNOMBRE.AsString;
8: Label8.Caption := TablaProbNOMBRE.AsString;
9: Label9.Caption := TablaProbNOMBRE.AsString;
10: Label10.Caption := TablaProbNOMBRE.AsString;
end;
TablaProb.Next;
end;
end;

Supongo que habrá cosas mejores pero espero que te sirva.

Suerte. TDS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar