Trong lược đồ dữ liệu wpf của tôi, tôi đã thực hiện xác thực bằng cách sử dụng IDataErrorInfo
. Khi có lỗi trong một ô, các ô trong các hàng khác sẽ trở thành ReadOnly. Đối với tôi điều này có ý nghĩa, nhưng doanh nghiệp muốn có thể thay đổi các ô hàng khác mà không sửa lỗi, tức là trong một số tình huống cho phép người dùng tạo ra một mớ hỗn độn và cuộc sống của nhà phát triển kém khốn khổ.DataGrid: Lỗi xác thực ô trên các ô hàng khác không thể chỉnh sửa/Readonly
Tôi đã thử đặt lại HasCellValidationError
thành sai nhưng không khắc phục được. Tôi rất đánh giá cao bất kỳ phản hồi/gợi ý nào về vấn đề này.
BindingFlags bf = BindingFlags.FlattenHierarchy | BindingFlags.NonPublic | BindingFlags.Instance;
PropertyInfo inf = myDataGrid.GetType().GetProperty("HasCellValidationError", bf);
if (inf != null)
{
inf.SetValue(myDataGrid, false, null);
}
Cảm ơn @Gazi vì hiếm có câu trả lời hiếm nhất;). Vì tôi muốn lưới của tôi luôn ở chế độ có thể chỉnh sửa, tôi đơn giản viết e.CanExecute = true; e.Handled = true; trong phương thức OnCanExecuteBeginEdit. và nó hoạt động như một sự quyến rũ. :) –
@NareshRavlani Solution by Gazi không hoạt động, nhưng giải pháp của bạn hoạt động như một sự quyến rũ. Bạn đã tìm thấy bất kỳ vấn đề nào với giải pháp của mình sau khi đăng nhận xét này chưa? – Vishal