我的用户想要一种方法对我们的产品数据库进行批量上传/编辑,就像他们使用excel一样,他们可以在电子表格中复制和粘贴。虽然这让我感到畏缩,但我不是老板,所以它就是这样。我只是将所有内容转储到数据网格视图,然后让它们在那里进行编辑(呃)。虽然有许多东西需要特定的值(即大小),但我不希望它们输入XL,XLarge,X-Large,xlarge,例如它们都应该是XLarge。所以我需要组合框。很容易,但他们也希望能够选择要显示的列,因此我不能指定列类型的静态表。我已设法动态制作合适的列组合框列并用数据填充它们。我这样填写:
for (int y = 0; y < table.Rows.Count; y++)
{
viewMassEdit.Rows.Add();
for (int x = 0; x < table.Columns.Count; x++)
viewMassEdit.Rows[y].Cells[x].Value = table.Rows[y][x].ToString();
}
所有数据都填写正确。没有例外。这就是问题所在。这会创建一个大表,当我开始纵向或横向滚动时,会定期弹出这些未处理的错误消息:
它在谈论什么废话?当我把它放在那里时,它接受了价值,当我在桌子上航行时,它现在是一个什么问题?此外,我将在哪里处理此错误?
答案 0 :(得分:1)
好吧,要“处理”错误 - 在事件DataGridView.DataError中添加处理程序:
void InitializeComponent() {
// ... //
this.DataGridView.DataError += this.DataGridView_DataError;
}
void DataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e) {
e.ThrowException = false;
}
您可能希望调试DataGridViewDataErrorEventArgs,并查看异常等,以便您可以首先阻止它被触发。
答案 1 :(得分:0)
要知道在哪里处理错误,请使用Break on Handled Exceptions进行调试(Debug-&gt; Exceptions)。这应该可以帮助您确定来源。