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.
0
0
Najprościej chyba użyć DBMemo :-)
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.
0
Dzięki Jack, ten patent z OnCalc jest dobry, kombinuje jeszcze z TDBCtrlGrid ale jakieś takie to toporne jest.