TreeViewコントロールでは、IsReadOnlyプロパティを使用して、実行時のノードの編集を有効または無効にすることができます。IsReadOnlyプロパティがfalseに設定されている場合は、ノードをダブルクリックするか、ノードを選択した後に[F2]キーを押して、ノードの内容を編集できます。IsReadOnlyプロパティをtrueに設定すると、ツリーのノードを編集できないように制限できます。
ユーザーがノードの編集を終了すると、DisplayMemberPathプロパティを使用して、ノードの内容がItemsSource配列内の項目に自動的に適用されます。TreeViewコントロールでは、次のイベントを使用して編集動作をカスタマイズできます。
以下のコード例では、OnClientNodeEditStartingメソッドを使用して、子を持たないノードに対してのみ編集を有効にしています。次のコード例では、OnClientNodeEditStarting()メソッドでnodeEditStartingイベントを生成しています。nodeEditStarting(treeview, e)関数のtreeviewは送信元で、eはTreeNodeEventArgsクラス型です。
以下のコード例では、「クイックスタート」セクションで追加したPropertyモデルを使用しています。
Razor |
コードのコピー
|
---|---|
@using <ApplicationName.Models> @model Property[] <script type="text/javascript"> function nodeEditStarting(treeview, e) { if (e.node.hasChildren) { e.cancel = true; } } </script> @(Html.C1().TreeView() .Bind(Model) .DisplayMemberPath("Header") .ChildItemsPath("Items") .ImageMemberPath("Image") .ShowCheckboxes(true) .IsReadOnly(false) .OnClientNodeEditStarting("nodeEditStarting")) |