在处理数据网格约束的例外(Handle constraint exceptions in datag

2019-10-23 05:19发布

我忙添加数据库(SQLite的)支持我的最新应用。 由于有一些表有,在我想这可能是开始使用外键约束一个好主意,其他表引用行的行。 一些谷歌搜索后,我能约束应用到一个表作为试运行。

var c = workingDataSet.Tables["measurements"].Columns["reference_realestate"];
var p = workingDataSet.Tables["realestates"].Columns["id"];

ForeignKeyConstraint fkcon = new ForeignKeyConstraint(p, c);
fkcon.DeleteRule = Rule.None;                

workingDataSet.Tables["measurements"].Constraints.Add(fkcon);

这工作,如果我尝试删除在“三围”下面的异常升高所引用的“realestates”记载:

System.Data.InvalidConstraintException“类型的未处理的异常‘’出现在system.data.dll其他信息:由于约束强制执行的关系Constraint1,并删除该行会搁浅子行无法删除此行。”

我现在的问题就是,如何处理这个异常? 阅读一些其他职位后,我发现这个指向我来处理DataGrid控件例外。 我一直在使用RowValidationRules尝试,但它似乎没有任何工作。

<DataGrid.RowValidationRules>
    <local:RowValidation_Measurements ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>

任何想法如何,我可以做到这一点? 哦,我不得不提到我使用MVVM。

文章来源: Handle constraint exceptions in datagrid