DBGrid + pole typu Memo

DBGrid + pole typu Memo
KA
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 4 lata
  • 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.


Kris
Młody
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 10 lat
  • Postów:418
0

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

jack
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 2 lata
  • 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:około 22 lata
  • Ostatnio:ponad 4 lata
  • Postów:137
0

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


Kris

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.