下拉列表显示Name字段,我还可以获取ID字段,并且我还要人为的向下拉列表中增加一个“全部”的选项。
自己研究了下,用DBLookupComboBox没法加“全部”下拉项;用DBComboBox好像没法获取ID字段。
还是应该用别的控件?
请大家指教,谢谢。

解决方案 »

  1.   

    用DBLookupComboBox字段,数据库保存的是ID字段,DBComboBox保存的是Name字段
    你这个“全部”在数据库里是要求保存是什么?有ID吗?
    如果用DBLookupComboBox,就用视图。
      

  2.   

    1.DBLookupComboBox
    2.ComboBox1.Items.AddObject(fieldbyname('name').AsString,Pointer(fieldbyname('custtypeid').AsInteger));
      

  3.   

    DBLookupComboBox
    '全部'在数据集加
      

  4.   

    尽量减少数据感知控件的事情,保证显示层独立.
    ComboBox1.Items.AddObject(fieldbyname('name').AsString,Pointer(fieldbyname('custtypeid').AsInteger));
    这个地方要注意点,如果fieldbyname('custtypeid').AsInteger<0的话就会出错.,要保证custtypeid的标识增量从0开始.
      

  5.   

    谢谢,但用了ComboBox1.Items.AddObject后,我怎么从ComboBox中获取选中项的custtypeidid呢?
      

  6.   

    //ComboBox中获取选中项的custtypeidid var
      custtypeidid:integer;
    begin
      custtypeidid:=integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
    end;