Database Delphi 5 DB感知组合框ItemIndex未更新

Database Delphi 5 DB感知组合框ItemIndex未更新,database,delphi,combobox,delphi-5,Database,Delphi,Combobox,Delphi 5,所以我有一个DBAware组合框,我的问题是 如果我这样做: ComboBox.ItemIndex := 0; 然后,即使它在视觉上显示了组合框中被选中的项目,下面仍然返回true Query.FieldByName('field').IsNull 基本上,我要做的是,如果与combobox关联的字段对于记录为null,那么我希望combobox默认为第一个索引。但是,当我通过itemindex执行此操作时,实际上并没有使其编辑记录 有什么想法吗?请提供帮助。不要将默认值设置为项索引在数据集

所以我有一个DBAware组合框,我的问题是

如果我这样做:

ComboBox.ItemIndex := 0;
然后,即使它在视觉上显示了组合框中被选中的项目,下面仍然返回true

Query.FieldByName('field').IsNull
基本上,我要做的是,如果与combobox关联的字段对于记录为null,那么我希望combobox默认为第一个索引。但是,当我通过itemindex执行此操作时,实际上并没有使其编辑记录


有什么想法吗?请提供帮助。

不要将默认值设置为
项索引
在数据集中设置它,如

Query.Edit;
Query.FieldByName('field').Value := 'Default Value';
Query.Post;

更改DBComboBox的ItemIndex只会更改DBComboBox的输入字段

它不会更改记录的数据字段值

如果确实要更改字段值,请通过DBComboBox组件

所以你能做到

 [...]
 if ComboBox.Field.IsNull then begin
      ComboBox.Text:=ComboBox.Items[0];
      Query.Edit;
      ComboBox.Field.AsString:=ComboBox.Items[0];
      Query.Post;
 end;
 [...]