0

だから私はDBAwareコンボボックスを持っていますが、私の問題はこれです。

私が行った場合:

ComboBox.ItemIndex := 0;

次に、視覚的にはコンボボックス内のアイテムが選択されていることを示していますが、以下はまだ true を返します。

Query.FieldByName('field').IsNull

基本的に私がやろうとしているのは、コンボボックスに関連付けられたフィールドがレコードに対してnullの場合、コンボボックスをデフォルトで最初のインデックスにすることです。ただし、itemindex でこれを行うと、実際にはレコードを編集するわけではありません。

何か案は?助けてください。

4

2 に答える 2

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;
 [...]
于 2013-04-05T20:16:50.073 に答える