【发布时间】:2014-11-15 23:58:39
【问题描述】:
我正在编写代码以最终使用数据绑定将数据从远程数据库中提取到 DataGridView 中。我目前正在创建代码以使用 CSV 文件和 BindingList 作为测试。
我想在我的表单上显示上次更新数据库的时间。我目前正在使用 BindingList 上的 ListChanged 事件来更新“上次数据库更新”显示。
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
}
我希望延迟更新,因为列表最初已填充。谁能想到这不起作用的任何原因?
非常感谢。
【问题讨论】:
-
是
ParseCsv返回一个新的BindingList?,如果是这样,这很可能是原因,请尝试清除绑定列表并添加项目,该事件很可能在这种情况下起作用。跨度> -
这就是问题所在……业余时间!发表回复,我会将其标记为最佳答案。
标签: c# events data-binding binding datagridview