Delphi 5 DB Aware ComboBox ItemIndex未更新

时间:2013-04-05 13:52:04

标签: database delphi combobox delphi-5

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

如果我这样做:

ComboBox.ItemIndex := 0;

然后即使在视觉上它显示组合框中的项目被选中,以下仍然返回true。

Query.FieldByName('field').IsNull

基本上我正在尝试做的是如果与组合框相关联的字段对于记录为空,那么我希望组合框默认为第一个索引。但是,当我通过itemindex执行此操作时,它实际上并没有使其编辑记录。

有什么想法吗?请帮忙。

2 个答案:

答案 0 :(得分:0)

而不是将默认值设置为ItemIndex,在数据集中设置它,如

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

答案 1 :(得分:0)

更改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;
 [...]