0

TreeGrid および GridDnD 機能を使用して JqGrid を実装しようとしてしばらく経ちましたが、問題が発生しています。私はそれが以前に行われたのを見たので、それができることを知っています。

以下は、必要に応じて動作する TreeGrid を作成するために使用するコードです。

$("#documentmanagementtree").jqGrid({
            url: '<%: Url.Action("GetDocumentManagementFolderStructure", "Document") %>',
            datatype: 'json',
            mtype: 'post',
            colNames: ['Id','Type',
        '<%: Html.TranslateUiElement(Function(x) x.SharedTranslations.EntityTypeCaption) %>',
        '<%: Html.TranslateUiElement(Function(x) x.DocumentTranslations.FileNameCaption)%>',
        '<%: Html.TranslateUiElement(Function(x) x.DocumentTranslations.DocumentFileSizeCaption) %>',
        '<%: Html.TranslateUiElement(Function(x) x.DocumentTranslations.LastCheckinDateCaption)%>',
        '<%: Html.TranslateUiElement(Function(x) x.DocumentTranslations.DocumentDownloadCaption) %>'],
            colModel: [
        { name: 'id', index: 'id', hidden: true },
        { name: 'type', index: 'type', hidden: true },
        { name: 'icon', index: 'icon', width: 5, align: 'left' },
        { name: 'name', index: 'name', width: 15 },
        { name: 'size', index: 'size', width: 5, sortable: false, align: 'right' },
        { name: 'lastcheckindate', index: 'lastcheckindate', width: 10, align: 'center', sorttype: 'date', datefmt: '<%= Html.GetGridDateFormat()%>' },
        { name: 'downloadlink', index: 'downloadlink', width: 5, align: 'center' }
        ],
            height: 'auto',
            width: 1013,
            sortname: 'id',
            treeGrid: true,
            cellEdit: true,
            treeGridModel: 'adjacency',
            treedatatype: "json",
            ExpandColumn: 'icon'
        });

ここで、GridDnD 機能を実装すると (他のページで正しく動作しています)、何も起こりません。ただし、jqGrid コードから「treeGrid: true」行をコメント アウトすると、ドラッグ アンド ドロップを正常に実行できます。

注:jqueryのドロップ可能で作業しているjqGridをそれ自体にドラッグアンドドロップするように実装しているため、「#」で接続し、うまく機能します。

$("#documentmanagementtree").gridDnD({
            connectWith: '#'
        });

したがって、問題は、TreeGrid を GridDnd で動作させることができないということですが、両方の機能を別々に動作させることはできます。結果)。

あなたが助けるために提案できることは何でも私に知らせてください、事前にすべてに感謝します.

4

1 に答える 1

0

代わりに tableDnD を使用して何かを考え出しました。結果のコードは次のとおりです。

            $("#documentmanagementtree").tableDnD({ scrollAmount: 0 });

            $("#documentmanagementtree").jqGrid({
            url: '<%: Url.Action("GetDocumentManagementFolderStructure", "Document") %>',
            datatype: 'json',
            mtype: 'post',
            colNames: ['Id', 'Type',
        '<%: Html.TranslateUiElement(Function(x) x.SharedTranslations.EntityTypeCaption) %>',
        '<%: Html.TranslateUiElement(Function(x) x.DocumentTranslations.FileNameCaption)%>',
        '<%: Html.TranslateUiElement(Function(x) x.DocumentTranslations.DocumentFileSizeCaption) %>',
        '<%: Html.TranslateUiElement(Function(x) x.DocumentTranslations.LastCheckinDateCaption)%>',
        '<%: Html.TranslateUiElement(Function(x) x.DocumentTranslations.DocumentDownloadCaption) %>'],
            colModel: [
        { name: 'id', index: 'id', key: true, hidden: true },
        { name: 'type', index: 'type', hidden: true },
        { name: 'icon', index: 'icon', width: 5, align: 'left' },
        { name: 'name', index: 'name', width: 15 },
        { name: 'size', index: 'size', width: 5, sortable: false, align: 'right' },
        { name: 'lastcheckindate', index: 'lastcheckindate', width: 10, align: 'center', sorttype: 'date', datefmt: '<%= Html.GetGridDateFormat()%>' },
        { name: 'downloadlink', index: 'downloadlink', width: 5, align: 'center' }
        ],
            height: 'auto',
            width: 1013,
            sortname: 'id',
            treeGrid: true,
            viewrecords: true,
            treeGridModel: 'adjacency',
            ExpandColumn: 'icon',
            gridComplete: function () {
                $("#documentmanagementtree").tableDnDUpdate();
            }
        });

jqgrid への重要な追加は次のとおりです。

            gridComplete: function () {
                 $("#documentmanagementtree").tableDnDUpdate();
            }

このドラッグ アンド ドロップ機能は gridDnD 機能ほど便利ではありませんが、treeGrid と組み合わせてより適切に機能するように実装できます。

同じような悩みをお持ちの方はぜひ!

于 2012-07-16T14:02:50.757 に答える