【问题标题】:c# datagridview fails when changing source of comboboxc#datagridview在更改组合框的源时失败
【发布时间】:2016-12-21 17:38:21
【问题描述】:
我创建了一个带有一个数据绑定数据网格视图的简单 winform。用户应该能够更改网格中的值。该网格的一列是一个名为comb1 的组合框。 comb1 的来源是对数据库的选择。一切都很好。
但是.....
删除combobox的源中的一个条目comb1 whitch已在datagridview中使用后,datagridview在打开时失败。组合框尝试验证 datagridviewcolumn comb1 中的值。但这是不可能的,因为组合框源的一个条目被删除了。
错误:datagridviewcomboboxcell-value 无效。
希望你能理解....
我怎样才能解决这个问题?
谢谢。
【问题讨论】:
标签:
c#
datagridview
combobox
【解决方案1】:
SqlDataAdapter sda = new SqlDataAdapter("SELECT T_Artikel.ArtikelBezeichnung, T_Artikel.IDArtikel AS Expr1 FROM T_Benutzer_Artikel INNER JOIN T_Artikel ON T_Benutzer_Artikel.IDArtikel = T_Artikel.IDArtikel WHERE(T_Benutzer_Artikel.IDBenutzer =" + lokIDBenutzer + ")", con);
DataTable dt = new DataTable();
sda.Fill(dt);
iDArtikelDataGridViewComboBoxColumn.DataSource = dt;
iDArtikelDataGridViewComboBoxColumn.ValueMember = "Expr1";
iDArtikelDataGridViewComboBoxColumn.DisplayMember = "ArtikelBezeichnung";
这段代码在打开表单时提供组合框的来源。删除表 T_Artikel 中的一个条目后,组合框源缺少此条目,并且在打开 DGV 时失败。
希望,这会有所帮助。