我的一个combobox1下拉的内容是员工编号,但是客户想这样下拉01-小张-男
...
..
然后选中后combobox里只显示01我在ONchange里写上截取字条符串的方法,但是不起作用

解决方案 »

  1.   

    将代码写到ComboBox1CloseUp事件下
      

  2.   

    我想了个方法,你参考下。
    procedure TForm1.ComboBox1DropDown(Sender: TObject);
    var
    i:integer;
    begin                  //当下拉combobox,根据员工编号 显示其名字、性别(以下为例)
     for i:=0 to Combobox1.Items.Count-1 do
     Combobox1.Items[i]:=Combobox1.Items[i]+'-'+IntToStr(i);
    end;
    procedure TForm1.ComboBox1Select(Sender: TObject);
    var
    i,j:integer;
    begin
     j:=Combobox1.ItemIndex;               //在选择的时候保存item指针
     for i:=0 to Combobox1.Items.Count-1 do
     Combobox1.Items[i]:=IntToStr(i);      //重新读取员工编号,不显示其名字、性别(举例) Combobox1.ItemIndex:=j;               //读取编号完成后,显示所选择的item
    end;