我在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
}
现在当一个部门的员工(比如说帐户DepartmentName =“Accounts”,DepartmentPK = 23)登录时,我希望将ComboBox文本选为“acounts” 当我去获取ComboBox的选定值时,我应该得到23
我试过
Cmb_Department.selectedtext="Accounts"
Cmb_Department.Text="Accounts"
但它没有给出选定的值
任何人都可以提出建议
答案 0 :(得分:2)
不要试图将值放入组合框中,而是尝试像这样获取SelectedItem
:
string txt= Cmb_Department.SelectedItem.Text
或只是:
string txt= Cmb_Department.SelectedText
答案 1 :(得分: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;
答案 2 :(得分:1)
要更改您可以使用的组合框的选定值
SelectedItem
属性或SelectedIndex
。
索引必须是数据源中的确切数字,而Item必须是数据源中的确切对象