大家好,我的问题是:
我想对一个数据库中的数据表的英文字段名以及其中文CAPTION进行多项操作。操作过程想通过一个GRID实现。
想对一个grid里字段的内容进行编辑,想使用combobox,目的是对客户看来,无论是编辑时,还是显示时,都是中文,但其实对应的数据库内容是英文内容的改变。
比如: 1 fish  显示为鱼
        2 beef  显示为牛肉
        3 water 显示为水
  客户在对combo中的鱼,牛肉,水进行选择后,比如选择了水,在grid里显示的也是水,但其实后面的数据库内容为water。
我不知道该用什么控件实现,是dbgrid?dblookupcombobox? 还是dev控件。怎么使用。我在csdn论坛里找好久,没找到答案,请各位高手指点,谢谢。

解决方案 »

  1.   

    dev里应该有吧,反正ehlib里的tdbcomboboxeh肯定是有的,它有个keyitems和items
      

  2.   

    用DBGrid 中 Columns 里 ButtonStyle 属性设置为 cbsDropDown
    会出现类似ComboBox组件的功能,显示中文:
         while not eof do
          begin
            Tlist := TStringList.Create;
            Tlist.Add(FieldByName('english').AsString);
            ComboBox1.Items.AddObject(FieldByName('chinese').AsString,TObject(Tlist));
            next;
          end;
    取英文:
    TStringList(ComboBox1.Items.Objects [ComboBox1.Items.IndexOf(ClientDataSet1.fieldbyname('chinese').AsString)]).CommaText ;
      

  3.   

    楼上,我怎么没发现你所说的
    ButtonStyle 属性设置为 cbsDropDown
      

  4.   

    zhaozhe(Thank好心人) :我也没发现你所说的
    ButtonStyle 属性设置为 cbsDropDown
    你说的不是DBGrid吧?