dbgrid显示access库的备注字段为(MEMO)!!如何解决??

sidney5 2003-08-22 10:52:15
我用access数据库,dbgrid显示其中的一个表,这个表的某个字段的数据类型为“备注”。但不管有没有内容,这个字段在dbgrid中全都显示(MEMO)。有谁知道怎么回事,怎样解决啊。
如果把数据类型改为“文本”可以显示,但字长不够用,才255,有的备注是很长的......
...全文
261 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sidney5 2003-08-22
  • 打赏
  • 举报
回复
楼上的,为什么应该不显示内容内容而显示么memo呢?
如何解决啊,在线等........
helloqiqi 2003-08-22
  • 打赏
  • 举报
回复
真是奇怪啊,要是备注类型的,表上应该不显示内容而只显示memo啊
bales 2003-08-22
  • 打赏
  • 举报
回复
这是我原来做的东西里面的,我只是把所有的数据访问组件放在数据模块。

DBGrid1.Canvas.TextRect(Rect,Rect.Left,Rect.Top,数据访问组件.fields[n].AsString);

一切都随你放呀。。table,adotable......
ihihonline 2003-08-22
  • 打赏
  • 举报
回复
你可以New fields,然后再
begin
custDBGrid.Canvas.FillRect(Rect);
custDBGrid.Canvas.TextOut(Rect.Left,Rect.Top,column.field.AsString);
end;
,这样就可以了。不要用原Field。
另:对于这种情况,偶都放在DBMemo里让其显示。
为用户考虑一下,用户不喜欢在DBGrid里拉来拉去的。
sidney5 2003-08-22
  • 打赏
  • 举报
回复
还有个问题,按照 cxreal(夜晚的猪) 的方法可以正常显示了,但在程序运行过程时,想选取memo字段的内容复制是不行的,这时它又变回(memo),呵呵。
不过这个是小问题,可以解决就最好,不行也算了。
cxreal 2003-08-22
  • 打赏
  • 举报
回复
DM应该是datamodule
bales(昊月)用到了这个,把数据控件放到datamodule上调用的
bw1996 2003-08-22
  • 打赏
  • 举报
回复
look
sidney5 2003-08-22
  • 打赏
  • 举报
回复
bales(昊月),小弟无知,请问DM.SmsSetupClient.fields[2].AsString这句的DM是什么?
liuzhu 2003-08-22
  • 打赏
  • 举报
回复
gz
cxreal 2003-08-22
  • 打赏
  • 举报
回复
在dbgrid的ondrawcolumncell事件里,写如下代码:
我的 content字段是memo字段

procedure TForm1.custDBGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if(column.field = custdbgrid.DataSource.DataSet.FieldByName('content')) then
begin
custDBGrid.Canvas.FillRect(Rect);
custDBGrid.Canvas.TextOut(Rect.Left,Rect.Top,column.field.AsString);
end;
end;
bales 2003-08-22
  • 打赏
  • 举报
回复
memo字段在DBGRID中是显示memo而不显示其具体的值的。如果你想显示,可在Dbgrid的DrawColumnCell事件中写上:
procedure TFrmSmsSetup.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
Case DataCol of
2: //这是你memo字段所在的列数(从0开始)
Begin //列出MEMO的内容
DBGrid1.Canvas.TextRect(Rect,Rect.Left,Rect.Top,DM.SmsSetupClient.fields[2].AsString); //memo字段
End;
End;
end;

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧