我正在编写代码,最终使用数据绑定将数据从远程数据库拉到DataGridView中。我目前正在创建代码,以使用CSV文件和BindingList作为测试。
我希望在我的表单上显示上次更新数据库的时间。我目前在我的BindingList上使用ListChanged事件来更新"last database update“显示。
ListChanged事件似乎只有在最初填充数据库之后才会触发。下面是我的类中的一些扩展DataGridView的代码:
BindingList<CsvTest> Data = new BindingList<CsvTest>;
public void InitGrid()
{
// Data.ListChanged += Data_ListChanged; // Event never fires if this is here!
Data = CsvTest.ParseCsv("test.csv");
Data.ListChanged += Data_ListChanged; // Working when it's here!
this.DataSource = Data; // DataGridView DataSource
}我希望我的延迟更新,因为列表最初是填充的。有没有人能想到这不起作用的原因?
非常感谢。
发布于 2015-03-06 21:18:36
这条线
Data = CsvTest.ParseCsv("test.csv");将覆盖您的Data变量的内容。之前设置的任何值(例如Data.ListChanged)都将属于旧的BindingList对象。并且您的新BindingList对象在您设置它之前没有该值。
如果您希望在ParseCsv之前设置该值,则必须清除Data中的BindingList,然后添加ParseCsv中的所有项。
https://stackoverflow.com/questions/25966963
复制相似问题