【问题标题】:Is there a better way of updating a data grid then just adding and removing the datasource?有没有更好的方法来更新数据网格,然后只是添加和删除数据源?
【发布时间】:2009-09-22 19:30:32
【问题描述】:

我有一个 List 集合,其中 UserPropDef 是一个具有一些公共属性的自定义类。我想在 DataGrid 中显示此列表的内容。所以我将网格的 DataGrid.DataSource 属性设置为列表,它会按照我的意愿显示内容。

现在,如果我在列表中添加或删除项目,我希望 DataGrid 更新。我不能使用 BindingList 因为这个列表需要被序列化。我已经尝试调用 DataGridUpdate()Refresh() 方法,而表单似乎并没有导致 DataGrid 根据集合的当前内容进行刷新。

唯一可行的方法似乎是再次设置 DataSource 属性。然而,在调试我的代码时,我可以看到在集合更改后 DataGrid 的 DataSource 属性实际上仍在引用正确和更新的集合。

有没有更好的方法让 DataGrid 根据其当前的 DataSource 进行刷新?

【问题讨论】:

  • 神圣的粗体标识符,蝙蝠侠!
  • 我删除了我的答案,因为我错误地认为您的问题是关于 asp.net 的。我添加了 winforms 标签以避免混淆。

标签: c# winforms datagridview


【解决方案1】:

我的建议是拿走 3 号门后面的东西:

创建一个实现 IBindingList 的自定义 Serializable List(或从 BindingList 继承并修复 Serializable 问题的东西。请查看Fixing BindingList... 获取想法)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 2019-06-11
    • 2019-05-14
    • 2013-12-09
    相关资源
    最近更新 更多