DBGrid + pole typu Memo

0

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

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1