DBGrid + pole typu Memo

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 137
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.

Młody
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 418
0

Najprościej chyba użyć DBMemo :-)

jack
  • 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:

Kopiuj
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.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 137
0

Dzięki Jack, ten patent z OnCalc jest dobry, kombinuje jeszcze z TDBCtrlGrid ale jakieś takie to toporne jest.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.