2012-01-05 18 views
5

私が達成しようとしたのは、通常のComboBoxのようにItemIndexを-1に設定して、選択したアイテムがクリアされるようにすることです。DBLookupComboBox - 選択した項目をクリアするには?

DBLookupComboBoxのItemIndexはありません。また、Textプロパティは読み取り専用です。どうすれば選択したアイテムをクリアできますか?助けてください。事前に多くの感謝。

PS:DBLookupComboBox-> ListSource DataSetを閉じて再度開くことは役に立ちません。

+0

を使用することができ、選択した項目をクリアしたい場合、私はDBLookupComboBox->です。KeyValue = 『』の問題を解決しました。 ListFieldのデータ型はString型であるためです。 KutsoffとJohn Easleyに感謝します。 :) –

答えて

1

二つの方法を使用することができます。

1)実行時に:DbLookupComboBox.KeyValue:= NULL;デザイン時に

2):どんなキーあなたがプロパティにdblokupcomboboxのKeyFieldを設定された第1の時間は「都市である場合、実行時の値)

+0

1)EVariantTypeCastErrorをスローします。 2)アクセス違反が発生します。とにかくありがとう。 –

+0

)通常、ルックアップキーとキーフィールドが一致しないと発生します。あなたのキーフィールドが文字列であれば、あなたは ''を割り当てることができます。 2)私はこれを経験したことはない..残念.. –

2

DBLookupComboBoxは、データベースのフィールドの値を表します。したがって、DBLookupComboBoxの値をクリア/変更するには、フィールドの値をクリア/変更する必要があります。

2

あなたは

DBLookupComboBox.KeyValue := -1;
+0

KeyValueを設定すると、選択した項目はリセットされますが、EVariantTypeCastError例外がスローされます。私はC++ Builder 2009を使用していますが、これに例外があるかどうかはわかりません。とにかくありがとう。 –

0

をゼロにするために使用したいDEL(またはにDbLookupComboBox.NullValueKeyプロパティを設定'//例

あなたはこの

procedure TFtreset.BitBtn6Click(Sender: TObject); 
begin 
    dblookupcombobox2.KeyValue:='city'; 
end; 
関連する問題