si, es unidireccional, viene de un ADOsql
Lo he resuelto con un StringGrid.
Voy a poner el código por si a alguien le sirve:
Código:
var
DS: TDataSet;
x,r: integer;
s: string;
begin
s:='select * from planeta';
if fsol.Text<>'0' then
s:=s+' WHERE idsol='+fsol.Text;
dm.GetSql(s,ds); // Lanzamos la consulta.
//Fijamos el número de columnas y filas.
StringGrid1.ColCount:=ds.FieldCount;
StringGrid1.RowCount:=ds.RecordCount+1;
// ahora pongo los nombres de los campos como cabecera de la regilla.
for x:=0 to ds.FieldCount-1 do
StringGrid1.Cells[x,0]:=ds.Fields[x].FieldName;
r:=1;
ds.First;
while not ds.Eof do // ahora le toca el turno a los datos.
begin
for x:=0 to ds.FieldCount-1 do
StringGrid1.Cells[x,r]:=ds.Fields[x].AsString;
r:=r+1;
ds.Next;
end;
end;
Funciona muy bien, y rápido.