正常选择Combobox里面的items,就没有问题,
但是如果是人工输入了一些字符,然后再Combobox1.SelectedItem.ToString()就报错“未将对象引用设置到对象的实例”。问题2:Combobox2.DataSource = dsDBTables.Tables["TablesName"];
Combobox2.DisplayMember = "name";
Combobox1.SelectedItem.ToString() 为什么是:"System.Data.DataRowView"? 应该怎样才可以得到正常的值呢?
但是如果是人工输入了一些字符,然后再Combobox1.SelectedItem.ToString()就报错“未将对象引用设置到对象的实例”。问题2:Combobox2.DataSource = dsDBTables.Tables["TablesName"];
Combobox2.DisplayMember = "name";
Combobox1.SelectedItem.ToString() 为什么是:"System.Data.DataRowView"? 应该怎样才可以得到正常的值呢?
2 ((DataRowView)ComboBox1.SelectedItem )["你要取的列"].ToString()
但是关于第1个问题: 我点击按钮之后,就获取ComboBox1里面的值,如果我的值是输入的话,应该怎样做呢?同时又存在值是选择的
{
label1.Text = comboBox1.SelectedText.ToString() + "年龄:" + comboBox1.SelectedValue.ToString();
} private void button1_Click(object sender, EventArgs e)
{
comboBox1.Items.Clear(); DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("age"); DataRow dr1 = dt.NewRow();
dr1["name"] = "abel";
dr1["age"] = 22;
dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow();
dr2["name"] = "sease";
dr2["age"] = 30;
dt.Rows.Add(dr2); comboBox1.DataSource = dt;
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "age";
}其中button1是新建了一个表,并且添加了两条记录,abel:22; sease:30 执行完后combobox1中有两条记录,显示的是abel和sease,选择abel时,窗体上的label1的内容会显示:abel:22;选择sease时,会显示 sease:30,
其中的abel和sease就是DisplayMember,22和30就是ValueMember