1

我的 Windows 表单中有一个数据绑定组合框,我通过函数 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 
        }

现在,当一个部门的员工(比如 accounts DepartmentName="Accounts" , DepartmentPK=23 )登录时,我希望将 ComboBox 文本选择为“acounts”,当我去获取 ComboBox 的选定值时,我应该得到 23

我试过

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

但它没有给出选定的值

谁能给个建议

4

3 回答 3

2

与其尝试将值放入组合框中,不如尝试 GETSelectedItem如下:

string txt= Cmb_Department.SelectedItem.Text

要不就:

string txt= Cmb_Department.SelectedText
于 2012-12-10T12:39:38.590 回答
1

您可以通过发出以下内容来让它选择正确的项目:

Cmb_Department.SelectedValue = 23;

其中 23 来自其他变量,可能在另一个对象上,可能来自局部变量,无论您的情况如何。

现在,要获取选定的值,您可以使用以下语句:

var val = Cmb_Department.SelectedValue;

要获取选定的文本(这将是与值关联的文本):

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

我开上述处方的原因是因为该SelectedText属性是易变的,并且该Text属性并不总是根据DropDownStyle设置的方式工作。

但是,有些人可能会争辩说要获得与上述相同的内容,您可以发布以下声明:

var text = Cmb_Department.Text;
于 2012-12-10T12:42:36.980 回答
1

要更改组合框的选定值,您可以使用 SelectedItem属性或SelectedIndex. 索引必须是数据源中的确切数字,并且项目必须是数据源中的确切对象

于 2012-12-10T12:43:38.980 回答