0

私は 2 つの Kendo UI ListViews を持っています。値を読み込んで表示するために利用可能なオプションのリストを取得できます。また、ドラッグ機能を動作させることもできます。問題は、宛先のドロップ機能です。2 番目の ListView を dropTarget として登録することはできますが、ドラッグ可能なものを目的の ListView に追加する方法を特定できません。

関連するコードは次のとおりです。

    var groupDataSource = getReadGroupsDataSourceFor(2819);

    try {
        var readgroups = $("#availableReadGroups").kendoListView({
            selectable: "single",
            navigatable: false,
            template: "#if(!IsSelectedGroup) {# <div style='font-size:13px;padding-left:5px;padding-top:5px;'>${GroupName}</div>#} else {# <div class=\"k-state-selected\" style=\"font-size:13px;padding-left:5px;padding-top:5px;\" aria-selected=\"true\">${GroupName}</div> #}#",
            dataSource: groupDataSource
        });

        var selectedGroups = $("#selectedGroupsValues").kendoListView({
            selectable: "single",
            navigatable: false,
            template: "#if(!IsSelectedGroup) {# <div style='font-size:13px;padding-left:5px;padding-top:5px;'>${GroupName}</div>#} else {# <div class=\"k-state-selected\" style=\"font-size:13px;padding-left:5px;padding-top:5px;\" aria-selected=\"true\">${GroupName}</div> #}#",
        });

        readgroups.kendoDraggable({
            filter: "div[role=option]",  
            hint: function (row) {
                return row.clone();
            }
        });

        selectedGroups.kendoDropTarget({
            drop: function (e) {
                var lvObject= selectedGroups.data();
                lvObject.kendoListView.dataSource.add(e.draggable);
            }
        });
    } catch (err) {
        alert(err);
    }
4

1 に答える 1

1

私は最終的に答えを思いつき、自分のマシンの IE と FireFox で動作するようにしました。ただし、このソリューションを jsFiddle で機能させることができませんでした。その理由はわかりません。

コードは次のとおりです。

selectedGroups.kendoDropTarget({
        drop: function (e) {
            var lvObject= selectedGroups.data();
            lvObject.kendoListView.dataSource.add(readgroups.data("kendoListview").dataSource.getByUid(e.draggable.hint.data().uid));
        }
    });

ヒント プロパティには、データ メソッドを持つ jQuery オブジェクトが含まれているようです。data メソッドを実行すると、プロパティ uid を持つオブジェクトのみが返されます。これを使用して、データ項目のドラッグ可能な元の dataSource を検索できます。データ項目は、宛先の dataSource の add メソッドに提供するものです。

于 2013-02-16T01:24:53.853 に答える