首页 > 解决方案 > DataGrid 不允许我在输入一些值后删除值

问题描述

我有一个DataGrid绑定DataTable,当程序第一次启动时它是空的,如果用户要添加一个值,它应该被写入适当的DataTable单元格。

但是,如果用户是删除此值,DataGrid则将不允许它并且不会更新DataTable,如下所示:

在此处输入图像描述

我似乎无法在网上找到任何关于此的内容,并且不确定它是否与DataGrid或 有关DataTable,非常感谢任何帮助!谢谢!

标签: c#wpfdatagridviewdatatable

解决方案


您可以处理该AutoGeneratingColumn事件并将转换器应用于绑定:

private static readonly ConvertStringToDBNull _converter = new ConvertStringToDBNull();
private void dgDt_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    ((DataGridBoundColumn)e.Column).Binding = new Binding(e.PropertyName) { Converter = _converter };
}

您将在此处string.Empty找到在和之间转换的转换器的示例实现。DBNull.Value


推荐阅读