我有一个DataTable,我绑定到WPF中的DataGrid。在XAML中没有生成列,当我在代码中创建DataTable时,所有事情都完成了。直接绑定到DataTable时验证DataGrid数据 - C#/ WPF
我有2路绑定,所以用户可以更新DataGrid中的值,它将更新DataTable,虽然这不是我调试时可以看到的事件,但我的结果显示它按预期工作。
但是,如果列的类型是double,并且用户输入文本,则该单元格的现有DataTable数据将被保留,单元格将以红色标出,而我的调试器输出会显示FormatException发生。
我所想要做的是能够之一:
一)处理这个异常,并显示一个警告用户在我UI
二)有一定可设置自定义的验证方法在我的代码标志,我可以用来处理在某些时候的错误
我不介意我去哪个解决方案,我只是不希望用户不会注意到错误。
谢谢。
感谢您的回复,我无法遵循,因为我没有任何数据集可以在数据集设计器中打开。我在我需要的类的实例中创建并填充绑定的数据表。 – 2014-10-01 13:15:41
你不需要设计师。你简单的使用DataTable.ColumnChanging事件。在那里你可以用SetColumnError设置你的验证规则。请参阅我的编辑 – blindmeis 2014-10-01 13:30:27
谢谢,只是在尝试修改正确类型的数据时调用该事件时,如果用户输入的数据类型错误,则不会调用它。与之前一样,该框突出显示为红色,格式异常由wpf处理,但事件未被调用。 – 2014-10-01 13:50:58