行のブール値の Sync プロパティに応じて、Ultragrid の特定の行を無効にしたいと考えています。私は2つの異なる解決策を考えましたが、どちらもうまくいきませんでした.
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;
}