【发布时间】:2011-08-10 07:16:54
【问题描述】:
我在绑定到数据源的 Windows 表单中使用了组合框,每当表单加载时,它都会正确返回与组合框中特定名称相关联的 Id。
private void PurchaseMaster_Load(object sender, EventArgs e)
{
DataTable dt = productMasterBAL.GetTable("Select * from productMaster");
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "ProductName";
combBox1.ValueMember = "ProductId";
}
但是每当我在 Combobox 中选择任何值时,我都会得到:
NullReferenceException 未处理。对象引用未设置为 对象的实例
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
DataRowView row = comboBox1.SelectedValue as DataRowView;
MessageBox.Show(String.Format("{0}", row["ProductId"])); //This line is causing exception
}
谁能告诉我如何解决这个问题?
【问题讨论】:
-
PName.SelectedValue是什么? -
@V4Vendetta:实际上是 'combobox1'
-
@Dusk 查看我的帖子并尝试使用可用的属性,这应该会为您提供所需的值
-
顺便说一句,在设置 DataSource 之前设置 DisplayMember 和 ValueMember 属性 - 每次更改 Display/Value 成员时,都会重新绑定数据源。