我不明白为什么会发生这种情况。我有一个 DataGridView,其 DataSource 设置为 BindingSource(用于过滤和导航目的)。
myDataGridView.DataSource = myBindingSource;
我有一个项目列表,单击 1 个项目将为 myBindingSource 应用相应的过滤器,结果仅显示符合 myDataGridView 标准的行。像这样:
private void ItemsClicked(object sender, ItemClickedEventArgs e){
myBindingSource.Filter = e.FilterExpression;
}
当我单击使 myDataGridView 显示至少 1 行的项目时,这可以正常工作。但是,当我单击任何导致 0 行满足相应过滤器表达式的项目时,事情变得很糟糕。myDataGridView 通常应该是空的,但是它在某些对话框中抛出了很多异常(因此出现)(异常未在代码编辑器窗口中以黄色标记显示),这是错误对话框的快照:
单击“确定”按钮后,它仍然向我显示另一个(相同的)对话框,.... 它继续显示许多对话框(具有相同的消息),直到它全部停止。我不明白那是什么。我不知道您是否需要更多信息,但我希望您遇到过类似的异常,并就如何解决此问题给我一些建议。对话框说 DataError 事件,但我不明白为什么这里有任何错误?请注意,如果在应用过滤器后我的 dataGridView 中至少有 1 行,则所有过滤器都会正常,只有在过滤器后没有行时才会发生错误。
请帮帮我,非常感谢您提前!