c# - 具有动态列和行的 DevExpress GridControl

标签 c# wpf devexpress

我正在 WPF 上使用 DevExpress 14.1 GridControl,它必须绑定(bind)到动态源。我们不知道设计时的列数或行数,因此必须即时计算。

源可能会在执行时更改,添加更多的行或列,或两者兼而有之(我可以有一个包含 3 列和 5 行的表,并且可以插入包含 4 列的第 6 行,将新列添加到前几行数据为空的模型)。

我使用 DataTable 作为网格的 ItemsSource,但它只会加载在设计时插入的数据。如果我在运行该应用程序时添加列,则网格不会出于某种原因更新。

是否有可观察对象可以满足这种需求?

最佳答案

必须以编程方式即时创建动态列并将其添加到 GridColumn 集合中。它们必须未绑定(bind)

GridColumn.FieldName 将此属性设置为与网格控件的基础数据源中的任何字段名称都不匹配的唯一字符串。

GridColumn.UnboundType 将此属性设置为一个值,该值标识列应该显示的数据类型( bool 值、日期时间、十进制、整数、字符串或对象)。

要检查 GridColumns 是如何创建和添加的,请查看您生成的文件。

有一个网格事件来处理未绑定(bind)的单元格数据集并获取(这是一个同时执行这两项操作的事件): ColumnView.CustomUnboundColumnData

关于c# - 具有动态列和行的 DevExpress GridControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27700069/

相关文章:

wpf - 如何在 CheckedComboBoxEdit 中获取选定项?

c# - 为 WinForm 应用程序分配一个控制台

c# - 如何在 LINQ 调用中返回文本的前 50 个字符

c# - WPF 单击时更改按钮上的 xaml 图标

c# - 如何设置 DevExpress 网格中单元格的外观?

c# - 将 Outlook.MailItem.body 设置为富文本时出现异常

java - 我可以访问 Dropbox App 文件夹中的子文件夹内容吗

c# - 保护基于 REST 的 WCF 服务

c# - 如何访问控件模板中的元素?

c# - 学习 WPF 和 MVVM