Chciałbym na Gridzie wyświetlić zawartość tabeli, w której jednym z pól jest memo.
Jakie tu podejścia byście zastosowali ?
Tak zwyczajnie to się napis (MEMO) wyświetla.
DBGrid + pole typu Memo
- Rejestracja: dni
- Ostatnio: dni
- Postów: 137
0
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Sosnowiec
- Postów: 390
0
Można np tak:
Dodaj w DBGridzie 1 kolumnę. Powiedzmy, że index tej kolumny = 1.
W OnDrawCell DBGrida wpisz:
procedure TFormTest.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
s: string;
begin
if DataCol = 1 then
begin
// TEKST - pole ftMemo;
s := DataModule1.Table1.FieldByName('TEKST').AsString;
with DBGrid1.Canvas do
begin
TextOut(Rect.Left + 2, Rect.Top + 2, s);
end;
end;
end;
Można też w Fields Editorze dodać jedno pole Calculated do tabeli zawierającej pole memo, a następnie w OnCalcFields przypisać mu wartość FiledByName('TEKST').AsString.