【问题标题】:DataGrid not expanding to hold more items when its datasource increases当数据源增加时,DataGrid 不会扩展以容纳更多项目
【发布时间】:2012-07-04 23:08:04
【问题描述】:

我在 .net compact framework C# 中有一个数据网格,我将它的数据源设置为一个列表,我的问题是当列表大小增加时,网格没有添加新添加,我必须通过退出表单重新创建网格和回到其中查看新条目。可见行数保持不变,因此例如,如果我从列表中的 10 到 20 个条目,数据网格仍然只显示 10 个可见行,如果我退出并重新输入表单,相同的列表最终会给出数据网格所有20 行可见..

【问题讨论】:

    标签: c# datagrid compact-framework datasource


    【解决方案1】:

    您的列表需要实现INotifyCollectionChanged。一种方法是使用ObservableCollection<T>。当您绑定到支持INotifyCollectionChanged 的对象时,网格将在添加或删除记录时更新。

    如果对象的属性发生变化时网格单元需要更新,那么您的对象需要实现INotifyPropertyChanged

    【讨论】:

      【解决方案2】:

      实际上没有办法做到这一点,我最终每次发生变化时手动重新填充数据库,然后刷新它以确保更改变得可见。

      【讨论】:

      • 接受你自己的答案很好,但我认为显示一个 sn-p 代码以显示你实际做了什么来完成这项工作会很有帮助(比如重新分配 DataSource,正如我所期望的那样)。
      • 我正在考虑发布一些代码,但实际上我所做的只是重新分配数据源并在 datagird 控件上调用 refresh(),因此这还不足以演示任何内容。
      • 对,但您从未提及重新分配DataSource,或特别提到您在DataGridView 上调用Refresh()。这会很有帮助,IMO。
      猜你喜欢
      • 1970-01-01
      • 2011-02-14
      • 2015-11-10
      • 1970-01-01
      • 2020-06-28
      • 2014-08-28
      • 2021-04-03
      相关资源
      最近更新 更多