回复 27楼CanYou1的帖子
针对你的问题,主要有三点建议:
1.有一个校验相关的事件,叫做:CanceledNewRow ,在这个事件里clear 重复。
2.之前我们还提到的CommittedRowEdit/CommittedEdit/CommittedNewRow/LoadingRow事件,都是和校验相关的事件。
3.在LoadingRow里修改的小建议,代码参考:
- void grid_LoadingRow(object sender, C1.WPF.DataGrid.DataGridRowEventArgs e)
- {
- if (e.Row.DataItem is INotifyPropertyChanged)
- {
- var data = e.Row.DataItem as INotifyPropertyChanged;
- data.PropertyChanged += Data_PropertyChanged;
- }
- ClearDuplicateRowError(e.Row.Errors);
- }
- private void Data_PropertyChanged(object sender, PropertyChangedEventArgs e)
- {
- var row = grid.Rows[sender];
- if (row!=null)
- {
- ClearDuplicateRowError(row.Errors);
- }
- }
复制代码
你可以参考下上述建议,希望对你有帮助。 |