各位好,现在有个问题,
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。怎么会出现这个问题呢?请高手指教。