簡體   English   中英

選擇組合框項目待修復

[英]combobox item selected To be fixed

我在我的窗體中有一個數據綁定組合框我通過函數deptload()IN FORM LOAD填充它

public void DeptcomboLoad()
        {
            DataTable dt = depttrans.getDeptName();
            Cmb_Department.DataSource = dt;
            Cmb_Department.DisplayMember = "DepartmentName"; //CHAR
            Cmb_Department.ValueMember = "DepartmentPK"; //INT 
        }

現在,當一個部門的員工(比如賬戶DepartmentName =“Accounts”,DepartmentPK = 23)登錄時,我希望將ComboBox文本選為“acounts”,當我去獲取ComboBox的選定值時,我應該得到23

我試過了

Cmb_Department.selectedtext="Accounts"
Cmb_Department.Text="Accounts"

但它沒有給出選定的價值

任何人都可以提出建議

而不是嘗試將值放入組合框中,嘗試獲取SelectedItem如下所示:

string txt= Cmb_Department.SelectedItem.Text

要不就:

string txt= Cmb_Department.SelectedText

您可以通過發出以下內容來選擇正確的項目:

Cmb_Department.SelectedValue = 23;

其中23來自其他一些變量,也許來自另一個對象,可能來自一個局部變量,無論你的情況如何。

現在,要獲取所選值,您可以使用以下語句:

var val = Cmb_Department.SelectedValue;

要獲取所選文本(與文本關聯的文本):

var text = ((DataRow)Cmb_Department.SelectedItem)["DepartmentName"];

我之前規定上述原因是因為SelectedText屬性是volatile,並且Text屬性並不總是根據DropDownStyle的設置方式工作。

但是,有些人可能會爭論得到與前面提到的相同,你可以發表這樣的聲明:

var text = Cmb_Department.Text;

要更改組合框的選定值,可以使用SelectedItem屬性或SelectedIndex 索引必須是數據源中的確切數字,而Item必須是數據源中的精確對象

暫無
暫無

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

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