2012-01-05 74 views
5

我試圖實現的就像在普通ComboBox中將ItemIndex設置爲-1一樣,以便所選項目將被清除。DBLookupComboBox - 如何清除選定的項目?

DBLookupComboBox沒有ItemIndex,而Text屬性是隻讀的。那麼如何清除選定的項目?請幫忙。提前謝謝了。

PS:關閉並重新打開DBLookupComboBox-> ListSource DataSet沒有幫助。

+0

我解決了DBLookupComboBox->鍵值=‘問題’;因爲ListFields中的數據類型是String類型的。感謝Kutsoff和John Easley給我提供解決方案的線索。 :) – 2012-01-05 14:40:58

回答

1

兩種方式:

1)運行時:DbLookupComboBox.KeyValue:= NULL;

2)在設計時:在DbLookupComboBox.NullValueKey屬性設置爲DEL(或您要使用的空運行時的值)

+0

1)拋出EVariantTypeCastError。 2)導致訪問衝突。 無論如何,謝謝。 – 2012-01-05 14:19:54

+0

1)通常在查找關鍵字和關鍵字段不匹配時發生。如果你的關鍵字段是一個字符串,那麼是的,你可以指定''。 2)我從未體驗過這種感覺.. – 2012-01-05 18:00:25

2

DBLookupComboBox表示數據庫字段的值。因此,您必須清除/更改字段的值,以通過代碼清除/更改DBLookupComboBox的值。

2

您可以使用

DBLookupComboBox.KeyValue := -1;
+0

設置KeyValue會重置所選項目,但會拋出EVariantTypeCastError異常。我正在使用C++ Builder 2009,不確定這是否與異常有關。不管怎麼說,還是要謝謝你。 – 2012-01-05 14:17:41

0

如果您在屬性設置dblokupcombobox關鍵字段第一次是「城市的任何鍵'//例如

如果要清除選定的項目,你可以使用這個

procedure TFtreset.BitBtn6Click(Sender: TObject); 
begin 
    dblookupcombobox2.KeyValue:='city'; 
end;