【问题标题】:DataGrid that masks columns屏蔽列的 DataGrid
【发布时间】:2012-08-15 19:24:17
【问题描述】:

DataGrid 可以动态屏蔽要显示的列吗?

当前设置

DataGrid Collection<Customer>

  1. Customer 类型定义了大约 100 个不同的字段。
  2. 不同的视图需要显示相同Collection<Customer> 的不同列集(大约100 列中的20 列),以某种方式动态选择。

是否有动态屏蔽将在DataGrid 中显示为列的字段的选项?理想情况下,我想使用 Infragistics 的xamDataGrid,但任何DataGrid 的解决方案都是一个很好的起点。


还有其他类似的questions,但它们处理列过滤或可变行数。

【问题讨论】:

    标签: wpf data-binding wpfdatagrid infragistics xamdatagrid


    【解决方案1】:

    如果您在代码中定义不同的视图,您可以创建不同的 FieldLayout 并将 FieldLayout 用于所需的视图。这需要通过将要使用的布局添加到 FieldLayouts 集合来设置要在代码中使用的 FieldLayout。

    如果您允许最终用户定义视图中的内容,那么您可能希望定义所有可能的字段,然后使用Field Chooser 允许隐藏或显示这些字段。

    savingloading 自定义字段的方法,您可以使用这些方法来保持布局。

    【讨论】:

    • 看来我必须在 code-behind 中编写代码来初始化FieldLayouts。有没有办法做到 MVVM 风格?我发现有一个类似的question 使用indexers。由于 indexers 对我来说似乎很陌生,因此无法详细了解它。只是想知道您是否认为FieldLayouts 可以在 MVVM 样式中初始化...
    • 如果您自己动态创建字段布局而不自动生成字段,则需要在 c#/vb 代码中完成,而不是在 xaml 中完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多