【问题标题】:Formatting Cell in WPF DataGrid格式化 WPF DataGrid 中的单元格
【发布时间】:2011-10-08 07:16:05
【问题描述】:

假设我有一个 DataGrid,它的 ItemsSource 绑定到一个数据表(其列是不同的)。表的一列是具有多个 NaN 值的双精度类型。在显示部分,我想将所有 NaN 值格式化为空白。

我所做的是像这样为 DataGridCell 设置样式:

<Style TargetType="DataGridCell">
    <Setter Property="Content" Value="{Binding Converter={StaticResource NumberConverter}}" />
</Style>

但它不起作用,因为单元格的 DataContext 是 DataRowView,这意味着我无法获得转换器中的哪一列。

任何人有一个好主意? 非常感谢。

【问题讨论】:

  • 您在 XAML 中使用ResourceDictionary 来定义NumberConverter,而不需要每个DataGridCell 的实例。
  • 你说得对,我只是想更详细地展示我的表现;但实际上,这不是解决我的问题的解决方案。我试图创建一个具有显式运算符 double 的 DoubleWrpper 类;然后我为我的新类创建列作为数据表中的列之一。我不能以这种方式走得更远,因为该列将按字符串而不是双精度排序。然后我尝试实现ICompare接口,仍然没有效果。

标签: wpf datagrid cell-formatting


【解决方案1】:

实际上,我想做的是将 NaN 单元格转换为空白。所以我创建了 DataTable 并生成了允许 DBNull 的 DataColumn。当数据源中的值为 NaN 时,我可以将值设置为 DBNull.Value,以便 NaN 在我的 DataGrid 中不显示任何内容。如果您遇到同样的问题,希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    相关资源
    最近更新 更多