方法一:
为Table建立永久字段,比如tblTemp的Memo字段,然后为此永久字段OnGetText事件添加代
码:
procedure Form1.tblTempMemoGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
Text := (Sender as TField).AsString;
end;
此方法代码简单,但如果多个表的多个字段需要如此处理,就需要为每个表的这些字段指定
OnGetText事件为这个事件,比较分散,维护起来不太方便。
方法二:
为Table建立永久字段,比如tblTemp的Memo字段,然后为DBGrid的OnDrawColumnCell事件
添加代码:
procedure TfrmChild.dbgChildGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (column.Field = tblTempMemo) then
begin
dbgChildGrid.Canvas.TextRect(rect, rect.left, rect.top, column.field.asstring);
end;
end;
此方法的优点是当有多个表中的多个字段要如此处理时,只需要建立好永久字段后,在
if...then...里面添加即可,集中管理,便于维护。