0

剣道 UI からカスタマイズされた Treelist があり、カスタマイズされたコマンド ボタンを使用しています。ボタンにクリックイベントを手動で追加し、編集、削除、更新ボタンを手動で非表示および表示しています。

これはすべて、ツリーの階層に 3 つのレベルがあるためです。第 1 レベルと第 2 レベルはカテゴリで、第 3 レベルは製品です。第 3 レベルのみを編集可能にする必要があるため、行の「タイプ」フィールドをチェックするスクリプトを使用して列テンプレートを作成し、それが機能するようにしました。製品のみがボタンを取得します。

今、ボタンを使わずに doubleclickevent を使って同じことができるかどうかを調べています。だから私は doubleclickevent を TreeList に追加しましたが、

製品について話しているかどうかを確認するために階層情報 (レベル 3) を取得するにはどうすればよいですか? 誰かアイデアはありますか?

これまでのところ、ダブルクリック用に次のコードを思いつきました。

var treeList = $("#treelist" <here specific class for row items ?> ).on("dblclick", function (e) {
            var rowindex = e.target.parentNode.rowIndex; // get rowindex
            var tr = $(e.target).closest("tr"); // get the nearest table row (tr)

            var treeList = $("#treelist").data("kendoTreeList");
            tr.find("#btndelete").addClass("hidden");
            tr.find("#btnedit").addClass("hidden");
            tr.find("#btnupdate").removeClass("hidden");
            treeList.saveRow();      // any other rows in editmode.. close
            treeList.editRow(tr[0]); // put selected row in editmode

            //if ($("#treeView").getKendoTreeList().dataItem(node).items.length == 0) {
                // These lines where from treeview. I have to adapt the for TreeList somehow
                // This if-statement should mean that you are on an Item that has no Child items
                // Use $("#treeView").getKendoTreeView().dataItem(node) to get values from
                // the dataitem
            //}
        });
4

1 に答える 1

3

これを試して:

var dataItem = $("#treelist").data("kendoTreeList").dataItem($(e.target).closest("tr"));

現在クリックされている状態で、 trGrid のdataItemメソッドを使用して現在の行から dataItem を取得できます。

if (dataItem.Type == 3) // Or whatever that make your condition
于 2015-01-22T11:38:30.980 に答える