Tôi muốn một số hàng trong Ultragrid bị vô hiệu hóa tùy thuộc vào thuộc tính Đồng bộ hóa boolean trong hàng. Tôi đã nghĩ đến hai giải pháp khác nhau nhưng không phải đã làm việc.Infragistics Ultragrid Làm thế nào tôi có thể vô hiệu hóa một hàng tùy thuộc vào một tài sản
1) Tìm kiếm thuộc tính Đồng bộ hóa với thuộc tính Kích hoạt của hàng. Điều này có thể không?
2) Trong một sự kiện như sự kiện InitializeRow của lưới, hãy tìm hiểu xem thuộc tính Sync là gì và vô hiệu hóa hàng nếu nó được đặt thành true. Phương pháp này hoạt động ngoài nếu một số hàng khác sau đó được thêm vào lưới và lưới điện sau đó được lưu, dữ liệu sẽ tự sắp xếp lại để hàng bị vô hiệu hóa không chứa dữ liệu phù hợp. Vì vậy, tôi cần một cách để biết khi nào điều này xảy ra để tôi có thể đi qua và vô hiệu hóa các hàng bên phải một lần nữa sau đó.
private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
{
e.Row.Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
if (e.Row.Cells[grdBoundGrip.DisplayLayout.Bands[0].Columns["Sync"]].Value != null && (bool)e.Row.Cells[grdBoundGrip.DisplayLayout.Bands[0].Columns["Sync"]].Value)
e.Row.Activation = Infragistics.Win.UltraWinGrid.Activation.Disabled;
}
Bạn có thể hiển thị mã trong sự kiện InitializeRow không? – Steve
Xin chào Steve, tôi đã thêm mã ở trên hoạt động tốt. Vấn đề là sau khi nhấp vào Lưu có một số mã mà cập nhật và thay đổi thứ tự của dataitems và tiếc là điều này không kích hoạt sự kiện InitializeRow một lần nữa. – Jim
Tài liệu cho [InitializeRow] (http://www.infragistics.com/help/topic/5CCF90C4-EEF6-4F4D-A979-B6F505F93318) giải thích rằng sự kiện này cũng nên được gọi nếu bạn thay đổi giá trị của một ô đơn lẻ. Vì vậy, có một cái gì đó sau khi lưu lệnh ngăn chặn sự kiện này để bắn. Một lần nữa, mã sau lệnh save có thể giúp đỡ. – Steve