Пользуйте TStringGrid. Прийдется вешать на AfterScroll датасэта такой код:
StringGrid1.RowCount:=OracleDataSet1.FieldCount + 1;
StringGrid1.FixedRows:=1;
StringGrid1. FixedCols:=1;
StringGrid.ColWidth[0]:=50;
StringGrid1.Cells[0, 0]:='Поле';
StringGrid1.Cells[1, 0]:='Значение';
For i:=0 To OracleDataSet1.FieldCount - 1 Do Begin
StringGrid1.Cells[0, i + 1]:=OracleDataSet1.Fields[i].FieldName;
StringGrid1.Cells[1, i + 1]:=OracleDataSet1.Fields[i].AsString;
StringGrid.ColWidth[0]:=Max(StringGrid.ColWidth[0],
Canvas.TextWidth(OracleDataSet1.Fields[i].FieldName));
End;
|
|
Конечно, если Вы хотите корректное редактирование данных, то скорей всего прийдется рисовать на ячейку такого грида соответствующие компоненты при входе в режим редактирования. Может и гемор, но при серьезном подходе из стрингрида можно получить значительно больше, чем просто грид (например, корректные переносы для длинных строк...).
ЗЫ: если кто знает где найти бесплатный DB-aware стрингрид, киньте в меня ссылкой плз.
------------------------------------------------
Who is Fuck the Alise?