类型的数据集验证(C#.NET)

时间:2010-01-25 00:42:34

标签: c# wpf visual-studio validation dataset

我在我的项目中使用dataSets验证。当DataTable_ColumnChanged事件在dataTable的部分类中触发时,我正在进行验证,并且它正在执行它的工作,但我还要在dataSet级别而不是UI上验证数据类型错误,以提供自定义错误消息。如果[someID]需要数字,但有人在文本框中输入字符串。

问题是,在DataTable_ColumnChanged事件触发之前,dataSet正在某处处理这种类型的错误,并且从不更改列,我明白了。

所以问题是在哪里以及如何拦截它。我想在部分dataTable类中处理它,包装到属性或东西,但VS生成一堆代码,我不知道在哪里看:)谢谢。

2 个答案:

答案 0 :(得分:0)

ColumnChanging事件?\

Dataset events

答案 1 :(得分:0)

这不是你问题的答案,但当你提到VS正在创造一堆goo时,我认为你可能正在使用拖放功能来完成这项任务。这就是为什么,正如你已经指出的那样,你无法弄清楚发生了什么。

工作室的这个codegen让你变得更加复杂。如果我建议考虑删除此自动生成的数据集并创建自己的类型化数据集以替换它,如果您在项目的早期阶段。如果您处于可以对更加理智的类型化数据集进行此更改的位置,则可以帮助您避免陷入类似于现在的情况。

此外,如果你有时间,你可能会考虑一种根本不使用数据集的设计,但这当然要多得多。 大多数人都在使用ORM解决方案,例如NHibernate或类似的东西来处理我们过去使用DataSet的事情。显然,如果有时间或外部因素使得它必须使用DataSet ,然后忘记这个ORM考虑因素 - 但是请考虑删除自动生成的数据集并改为创建类型化数据集。对你来说会容易得多。