如何将单元格内容重置为`System.DBNull`

时间:2012-05-15 09:11:37

标签: c# wpf datagrid

我有一个WPF DataGrid,其DataTableItemsSource。网格仅用于double值。但是,对于某些单元格,未指定数据,因此值可以为null。 (实际上类型是DBNull)。这一切都正常,直到我开始编辑一个单元格,然后决定我不想在该单元格中的任何值,然后尝试将其留空并继续。 DataGrid不允许我这样做。如何让它以某种方式工作,以便我可以根据需要将初始null值重置为单元格?

2 个答案:

答案 0 :(得分:0)

您必须使用值转换器...因此,如果单元格为空,则可以将值设置为DBNull。 但我认为你必须手动定义列...

xaml中的

<Window xmlns:conv="PathToConverter">
<Window.Resources>
    <conv:ValueConverter x:Key="valueConverter" />
</Window.Resources>
...
    <DataGrid.Columns>
        <DataGridTextColumn Header=""
                            Binding="{Binding doubleValue
                                    , Converter={StaticResource valueConverter}
                                    , Mode=TwoWay}"/>
        ...
    </DataGrid.Columns>
...
</Window>

您的转换器类必须实现IValueConverter接口

答案 1 :(得分:0)

您是否遇到验证问题?

否则,只要“Esc”-ing将取消当前的编辑,我相信。