如何将单元格内容重置为“系统.DBNull”
本文关键字:系统 DBNull 单元格 | 更新日期: 2023-09-27 18:34:07
我有一个WPF DataGrid
它有一个DataTable
作为它的ItemsSource
。网格仅用于double
值。但是,对于某些单元格,未指定任何数据,因此可以null
值。(实际上类型是DBNull
)。这一切都可以正常工作,直到我开始编辑一个单元格,然后决定我不希望该单元格中的任何值,然后尝试将其留空并继续。DataGrid
不允许我这样做。如何让它以某种方式工作,以便我能够根据需要将初始null
值重置为单元格?
您必须使用值转换器...因此,如果单元格为空,则可以将该值设置为 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
接口
您在验证方面遇到问题吗?
否则,我相信只有"Esc"-ing会取消当前的编辑。