列ごとに特定の動作を設定できます。これによって、WebDataGrid™ で列の選択番号のみに動作を制限することができます。これはプライマリ キー列、またはエンド ユーザーが編集すべきではない列がある時に非常に役に立ちます。
動作エディタで列単位ごとに設定できる各動作に対して、動作を有効にする列を指定するための列設定コレクションがあります。列設定を追加することにより、列のための特定の動作を有効/無効にすることができます。
動作ごとにひとつ、6 つの異なる種類の列設定があります。列設定を以下にリストします。
列設定を追加するとき、特にマークアップでは、設定が動作に対応することを確認します(たとえば、EditingColumnSetting は Editing 動作に使用するための設定です)。
注: コントロール レベルで WebDataGrid に動作を追加してからでなければ列レベルで有効/無効にできません。
WebDataGrid の動作エディタを使用してデータ編集を 2 列のみに制限します。
WebDataGrid を SqlDataSource コンポーネントにバインドして、Customers テーブルからデータを取得します。列 CustomerID、CompanyName、ContactName および ContactTitle のみを含みます。実行についての詳細は、 WebDataGrid で開始を参照してください。
Microsoft® Visual Studio™ プロパティ ウィンドウで、 Behaviors プロパティを指定して、省略記号 (…) ボタンをクリックして、[動作エディタ] ダイアログを起動します。
有効にするには左のリストの CellEditing 動作チェックボックスをチェックします。
セル編集のプロパティで、 ColumnSettings プロパティを選択して、省略記号 (…) ボタンをクリックし列設定デザイナを起動します。
CustomerID および CompanyName フィールドの列設定項目を 2 つ追加します。ほとんどの場合これらの列はエンド ユーザーが編集すべきではないため、読み取り専用にします。
最初の列の ColumnKey プロパティを CustomerID に設定します。
2 番目の ColumnKey プロパティを CompanyName に設定します。
両方の ReadOnly プロパティを True に設定します。
[適用] そして [OK] ボタンをクリックしてエディタを閉じます。
[適用] そして [OK] ボタンをクリックして動作エディタを閉じます。
コードで上記の手順を実行することも可能です。
Visual Basic の場合:
Me.WebDataGrid1.Behaviors.CreateBehavior(Of EditingCore)() Me.WebDataGrid1.Behaviors.EditingCore.Behaviors.CreateBehavior(Of CellEditing)() ' 列設定を作成します。 Dim settingColumn1 As New EditingColumnSetting() settingColumn1.ColumnKey = "CustomerID" settingColumn1.ReadOnly = True Dim settingColumn2 As New EditingColumnSetting() settingColumn2.ColumnKey = "CompanyName" settingColumn2.ReadOnly = True ' 列設定を追加します。 Me.WebDataGrid1.Behaviors.EditingCore.Behaviors.CellEditing.ColumnSettings.Add(settingColumn1) Me.WebDataGrid1.Behaviors.EditingCore.Behaviors.CellEditing.ColumnSettings.Add(settingColumn2)
C# の場合:
this.WebDataGrid1.Behaviors.CreateBehavior<EditingCore>(); this.WebDataGrid1.Behaviors.EditingCore.Behaviors.CreateBehavior<CellEditing>(); // 列設定を作成します。 EditingColumnSetting settingColumn1 = new EditingColumnSetting(); settingColumn1.ColumnKey = "CustomerID"; settingColumn1.ReadOnly = true; EditingColumnSetting settingColumn2 = new EditingColumnSetting(); settingColumn2.ColumnKey = "CompanyName"; settingColumn2.ReadOnly = true; // 列設定を追加します。 this.WebDataGrid1.Behaviors.EditingCore.Behaviors.CellEditing.ColumnSettings.Add(settingColumn1); this.WebDataGrid1.Behaviors.EditingCore.Behaviors.CellEditing.ColumnSettings.Add(settingColumn2);
アプリケーションを実行します。エンド ユーザーは、Contactname および ContactTitle 列を編集することだけが許可されています。