アンバウンド列でチェックボックスを使用したい場合は、以下の設定をしてください。
- 列の Style プロパティに ColumnStyle.CheckBox を設定する。
- 列の DataType プロパティに bool 型を設定する。
- ヘッダーにもチェックボックスをつけて全選択/全解除を実装したい場合は、列の Header の CheckBoxVisibility を設定する。
private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e) { // アンバウンド列を追加する。 UltraGridColumn UnboundCheckCol = e.Layout.Bands[0].Columns.Add("UnboundCheck", "Unbound Check"); // 列のStyleプロパティにColumnStyle.CheckBoxを設定する。 UnboundCheckCol.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox; // 列のDataTypeプロパティにbool型を設定する。 UnboundCheckCol.DataType = typeof(bool); // ヘッダーにもチェックボックスをつけて全選択/全解除を実装したい場合は、列のHeaderのCheckBoxVisibilityを設定する。 UnboundCheckCol.Header.CheckBoxVisibility = HeaderCheckBoxVisibility.Always; }
ボタンクリックなどのイベントでチェックされている行を取り出したい場合は、チェックボックス列の Value が true か false かでチェックされているかどうかが確認できます。
private void button1_Click(object sender, EventArgs e) { UltraGrid grid = ultraGrid1; System.Diagnostics.Debug.WriteLine(""); foreach (var row in grid.Rows) { System.Diagnostics.Debug.WriteLine("(Row {0}) チェックされている?: {1}", row.Index, row.Cells["UnboundCheck"].Value); } }
リファレンス
- 「アンバインド列を WinGrid に追加」
- 「ColumnStyle を使用してエディタの割り当て」
- 「列ヘッダーにチェックボックスを表示」