我希望根据行中的布尔同步属性禁用 Ultragrid 中的某些行。我想过两种不同的解决方案,但都没有成功。
1) 将 Sync 属性数据绑定到行的 Activation 属性。这可能吗?
2) 在网格的 InitializeRow 事件等事件中,找出 Sync 属性是什么,如果设置为 true,则禁用该行。此方法的工作原理是,如果将更多行添加到网格并随后保存网格,数据会自行重新排序,以使禁用的行不包含正确的数据。因此,我需要一种知道何时发生这种情况的方法,以便之后我可以再次检查并禁用正确的行。
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;
}