ASP.NET MVC コントロールヘルプ
ノードの編集
コントロールの使用 > TreeView > TreeViewの使用 > ノードの編集

TreeViewコントロールでは、IsReadOnlyプロパティを使用して、実行時のノードの編集を有効または無効にすることができます。IsReadOnlyプロパティがfalseに設定されている場合は、ノードをダブルクリックするか、ノードを選択した後に[F2]キーを押して、ノードの内容を編集できます。IsReadOnlyプロパティをtrueに設定すると、ツリーのノードを編集できないように制限できます。

ユーザーがノードの編集を終了すると、DisplayMemberPathプロパティを使用して、ノードの内容がItemsSource配列内の項目に自動的に適用されます。TreeViewコントロールでは、次のイベントを使用して編集動作をカスタマイズできます。

以下のコード例では、OnClientNodeEditStartingメソッドを使用して、子を持たないノードに対してのみ編集を有効にしています。次のコード例では、OnClientNodeEditStarting()メソッドでnodeEditStartingイベントを生成しています。nodeEditStarting(treeview, e)関数のtreeviewは送信元で、eTreeNodeEventArgsクラス型です。

以下のコード例では、「クイックスタート」セクションで追加したPropertyモデルを使用しています。

コードの場合

EditingNodes.cshtml
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"))