0

我的用户想要一种对我们的产品数据库进行大量上传/编辑的方法,就像他们使用 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();
}

所有数据都正确填写。没有例外。这就是问题所在。这会创建一个大表,当我开始垂直或水平滚动时,这些未处理的错误消息会定期弹出:

在此处输入图像描述

它在说什么废话?当我把它放在那里时,它接受了很好的值,现在当我在表格中导航时有什么问题吗?此外,我该去哪里处理这个错误?

4

2 回答 2

1

好吧,要“处理”错误 - 将处理程序添加到事件DataGridView.DataError

void InitializeComponent() {
   // ... //

   this.DataGridView.DataError += this.DataGridView_DataError;
}

void DataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e) {
   e.ThrowException = false;
}

您可能想调试该DataGridViewDataErrorEventArgs,并查看异常等是什么,以便您可以首先防止它触发。

于 2011-06-22T20:33:28.430 回答
0

要知道在哪里处理错误,请在 (Debug->Exceptions) 上使用 Break on Handled Exceptions 进行调试。这应该可以帮助您查明来源。

于 2011-06-22T20:25:43.707 回答