wwDBGrid遇到顯示(MEMO)的處理方式

這件事情的起因是因為前人開立的欄位格式是 nvarchar(max)

於是呢!在DBGrid裡面就變成了

1480584108022

要解決(Memo)顯示正常的內容,就得要在DBGrid的DrawDataCell動手腳了

procedure TForm1.wwDBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
var
  ACanvas : TCanvas;
begin
  if (Field.DataType <> ftWidememo)  then exit;
  ACanvas := twwDBGrid(Sender).Canvas;
  ACanvas.textrect(Rect,Rect.Left,Rect.Top,Field.AsString);
end;

加上後,就會顯示為

1480585258071

作者: 林壽山

林壽山 目前任職於軟體公司研究開發部門主管,主要採用.net core/.net 5/6 開發,收銀機pos系統開發,第三方支付設計(綠界、馬來西亞epay/happypay、台新one碼),金流設計,行動支付設計(悠遊卡/一卡通),支付寶,微信,街口支付,信用卡機(聯合信用卡),擅長PHP網頁設計(CodeIgniter、Laravel)框架、Delphi程式設計、資料庫設計、C# WinForm/WebForm程式設計、ASP.net MVC、LINE串接、API串接設計