在dxGrid中添加列时可以选择该列的为TdxDBImageEdit,
如:
SpecialityName :TdxDBImageEdit;
即可通过代码显示该自动的ID对应的名称。而不改变该列的值,
如下:      SpecialityName.Values.Add(FieldValues['speciality_id']);
      SpecialityName.Descriptions.Add(FieldValues['speciality_name']);但是cxGrid中是否有这个功能。搜索一下发现通过Properties属性好像可以,但是不是很清楚。
麻烦各位大虾。能否用代码说明一下.

解决方案 »

  1.   

     cxGrid的列有一个属性,它的编辑框可以指定combobox,spinedit等.在设计时,可以为
        combobox的items添加项目.请问是否可以动态创建?(run-time时由程序加入)解决: 
    var
       A:TDataSource:
       B:TcxlookupcomboboxProperties;
           begin
       A:=TDataSource.create(self);
       B:=tcxlookupcomboboxproperties.create(self);
       A.Dataset:=Dic_ry_xb;//此处指定数据源。
       b.listdource:=a;//此处指明字段的listsource属性。
       b.keyfieldnames:='a';    //此处指明字段的关键字段
       b.listfieldnames:='b';   //此处指明字段的返回值。
       b.listcolumns.items[0].caption:='x; //此处默认是会建立一个字段,但是显示的表头是name,所以此处让它显示为自己想要的中午显示。
             cxGrid1DBTableView1c1_sex_code.Properties:=b; //此处指明是那个字段。
    end; //这个是初始化的代码,
      

  2.   

        ssql := 'select Proc_ID,Proc_name from Pub_WorkProc ';
        OpenSQL(wwCDSTmp,ssql);
       Ads :=TDataSource.create(self);
       Blookup := tcxlookupcomboboxproperties.create(self);
       Ads.Dataset:= wwCDSTmp;//此处指定数据源。
       Blookup.ListSource:=Ads;//此处指明字段的listsource属性。
       Blookup.keyfieldnames:='Proc_ID';    //此处指明字段的关键字段
       Blookup.listfieldnames:='Proc_name';   //此处指明字段的返回值。
       Blookup.listcolumns.items[0].caption:='工序名称';
       cxGrid1DBTableView1Proc_id.Properties:=Blookup;我的代码是这样写的,但是最后显示不出 Proc_ID对应的Proc_name 的值