有关combobox.items.add('name=value')的问题
 当然,name和value是从数据表中的两个不同字段读出的,我要让下拉列表中只显示value,怎么办?
 然后通过combobox.items.indexofname('name')可以查询到value的值

解决方案 »

  1.   

    你可以在combobox.items.add('value');
    另外创建一个stringlist保存name,然后根据name的序号,来取得value的值
      

  2.   

    比较笨的办法就是再建立一个TStringList,一一对应。
      

  3.   

    不知道我的问题是否能让大家明白?再补充一下:现在的问题是通过combobox.items.add('name=value')这种方法的结果是:在combobox里把'name=value'都显示出来了,而我的要求是不现实'name=',只显示value
      

  4.   

    可以用构件
    edlib的dbcombobox就支持
      

  5.   

    可以用一个TStringList变量来存放Name值啊,这样就可以轻松取得value值:
      //假如用abc 来存放name
      ComboBox1.Items[abc.indexofname('name')];
      

  6.   

    TStrings类本身就有这个功能:
    begin
      with ComboBox1.Items do
      begin
        Add('luo=a');
        Add('luo1=b');
        Add('luo2=c');
        ShowMessage(Values['luo1']);
      end;
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  7.   

    那就用重画吧:
    将ComboBox的属性Style设为:csOwnerDrawFixed在ComboBox的OnDrawItem事件中写下:
      ComboBox1.Canvas.TextOut(Rect.Left,Rect.Top,
        Copy(ComboBox1.Items[Index],pos('=',ComboBox1.Items[Index])+1,Length (ComboBox1.Items[Index])));
      

  8.   

    使用TValueListEditor,实现name=value,作为对照表,
    根据combobox的value,在TValueListEditor查找name
      

  9.   

    haoco(程序员)that's good ideanow ,i'll give you points