簡體   English   中英

組合框短路未將鍵入的值放在前面

[英]Combobox shorting not bringing the typed value to front

我有兩個組合框,一個是產品ID,另一個是產品名稱。 對於這兩個組合框,我都將相同的DataTable分配為datasourse。

我的組合框屬性如下

cmbprID.DataSource = prdList;
cmbprID.DisplayMember = "PRD_ID";
cmbprID.ValueMember = "PRD_ID";

cmbprName.DataSource = prdList;
cmbprName.DisplayMember = "PRD_NAME";
cmbprName.ValueMember = "PRD_NAME";

並且自動完成模式=無

 Sorted=false

現在,當我運行程序時,所有數據都將正確加載。 當我嘗試鍵入時,它正在縮短數據,但有時某些數據沒有顯示出來。 但是該數據在下拉列表中可用。

按照我采取的步驟解決

  • Shorted = true;

為此,一切正常。 但是問題是,它不是針對我選擇的PID選擇產品名稱。 原因是組合框對數據進行排序,因此索引值會發生變化。

  • 我的SQL查詢中的ORDER BY PRODUCT_ID ASC。

即使這樣也行不通。 但是它的准確性在初期是更好的。

cmbprName.DisplayMember = "PRD_NAME";
cmbprName.ValueMember = "PRD_ID";
cmbprName.Sorted=true;

但是沒用

請幫助我

我會用Shorted=true; ValueMember設置為ID而不是同一顯示成員。 那么您可以從同一組合框中獲取選定的文本和值。

cmbprName.DataSource = prdList;
cmbprName.DisplayMember = "PRD_NAME";
cmbprName.ValueMember = "PRD_ID";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM