DBGrid中如果field是长字符串,如何显示?高手来拿分啊 (100分)

P

peggy

Unregistered / Unconfirmed
GUEST, unregistred user!
由Query得到的结果集,显示在DBGrid中,如果某个field是长字符串,
DBGrid中只会显示一个Memo,如何让其显示该字段的真正值?
我知道可以用DBMemo控件与该field做关联,然后显示出来,
但是我想在DBGrid中的该field中显示,我总觉得用DBMemo关联显示不地道,不爽。
请大虾们帮忙!
 
这个简单,定义一个成员过程,并将它赋给这个Memo字段的OnGetText就可以了!

这个过程的定义格式如下:
procedure TForm1.MemoFieldGetText(Sender: TField; var Text: String;DisplayText: Boolean);
begin
Text:=Sender.AsString;
end;

procedure TForm1.Table1AfterOpen(DataSet: TDataSet);
begin
if Table1.FindField('MemoField')<>nil then
Table1.FindField('MemoField').OnGetText:=MemoFieldGetText;
end;

end.


如果是在设计期就已经确定的字段那就更好办了,只需要在这个字段的OnGetText事件中写入Text:=Sender.AsString;一行就可以了!
注意这种问题一般根DBGrid关系.
 
顶部