一个很郁闷的问题,在线等答案!!!

wq187 2006-11-13 09:19:21
各位好,现在有个问题,
ADOQuery4.Close;
ADOQuery4.SQL.Clear;
s3:='select * from vesselsconditioncode ';
ADOQuery4.SQL.Add(s3);
ADOQuery4.Open;
DBGrid3.Columns[1].PickList.Clear;
adoQuery4.First;
while not adoQuery4.Eof do begin
DBGrid3.Columns[1].PickList.Add(adoQuery4.Fields[0].AsString+' '+adoQuery4.Fields[1].AsString);
adoQuery4.Next;
end;
这段代码是做dbgrid中的下拉框,
adoQuery4.Fields[0].AsString是代码,adoQuery4.Fields[1].AsString是名称,
现在出现了个问题,当我选择代码‘1’的时候,在dbgrid中显示1和一个空格,
当我选择代码'12'的时候没有问题,就是显示的‘12’。
然后我把代码改为DBGrid3.Columns[1].PickList.Add(adoQuery4.Fields[0].AsString+adoQuery4.Fields[1].AsString)结果选择代码‘1’的时候,dbgrid中显示1和名称中的第一个字母,也就是说不管怎么样,dbgrid中代码列显示的是2位的,我用的是access数据库,不区分varchar和char,而且我这得代码字段长度为50。怎么会出现这个问题呢?请高手指教。
...全文
199 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjksoft 2006-11-13
  • 打赏
  • 举报
回复
选定时出现上面的问题,应该DBGrid3.Columns[1]的宽度不够吧.
haojielyb 2006-11-13
  • 打赏
  • 举报
回复
rtrim
ltrim
wq187 2006-11-13
  • 打赏
  • 举报
回复
up
wq187 2006-11-13
  • 打赏
  • 举报
回复
下拉框显示没问题,都显示全了,只是选定是出现上面的问题
dabaicai 2006-11-13
  • 打赏
  • 举报
回复
DBGrid3.Columns[1].PickList.Add(trim(adoQuery4.Fields[0].AsString+' '+adoQuery4.Fields[1].AsString));
试试
wq187 2006-11-13
  • 打赏
  • 举报
回复
是正确的
myvicy 2006-11-13
  • 打赏
  • 举报
回复
liststr=adoQuery4.Fields[0].AsString+' '+adoQuery4.Fields[1].AsString
//定义一个变量然后调试看看值是否正确
DBGrid3.Columns[1].PickList.Add(liststr);
zhongguoren666 2006-11-13
  • 打赏
  • 举报
回复
你在adoQuery4.Fields[0].AsString的后面加上:.Trim试一下,应该能解决这个问题!

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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