【发布时间】:2011-03-21 21:50:06
【问题描述】:
我正在使用 C# + winforms 开发软件。
我有一个包含多个 DataGridView 的 UserControl
datagridview1.datasource = from p in dc.doctor select p;
我使用linq to sql用dataSource填充dataGridView,因为我需要刷新数据源来更新记录,所以我创建了一个新的dataContext并重新分配了数据源。
datagridview1.datasource = from p in dc.doctor select p;
一开始我发现,虽然我重置了datasource,但是datagridview还是不能刷新,有人告诉我应该在datagridview上调用invalidate函数,我试过了。在一定程度上,它是有效的。
但是,如果我在 UserControl 的类中调用 Invalidate,它将不起作用。
如果我在 UserControl 的类上创建一个公共函数,然后用 userControl.refreshRecord() 调用它,那么它就可以工作了。
有人可以指出我错过了什么吗?当有人调用 invalidate 时,它什么时候才能真正起作用?
提前致谢!
【问题讨论】:
-
问题不是在包含控件中被调用,而是在处理某些没有预期效果的特定消息期间被调用。
标签: c# winforms linq-to-sql datasource invalidation