分页拖放Tablesorter插件

问题描述 投票:0回答:1

我只能使用tablesorter功能,因为父行下隐藏了子行等。所以我使用“tablesorter mod”功能http://www.pengoworks.com/workshop/jquery/tablesorter/tablesorter.htm

当我尝试添加 Dragtable.js 并尝试拖放时,只有当前页面会正确重新排列。在其他页面上,仅标题被移动,导致数据和标题不匹配。是否有解决方法可以同时具有分页、拖放和表格排序功能。我只想通过拖放来移动所有页面(包括显示的页面)的列。


<script type="text/javascript" src="jquery-1.2.3.js"></script>
    <script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.tablesorter.mod.js"></script>
<script type="text/javascript" src="jquery.tablesorter.pager.js"></script>
<script type="text/javascript" src="jquery.tablesorter.collapsible.js"></script>
<script type="text/javascript"  src="jquery.dataTables.js"></script>
<script type="text/javascript"  src="ColReorder.js"></script>
<script type="text/javascript"  src="dragtable.js"></script>
<script type="text/javascript">
        $(document).ready(
            function (){
                $(".tablesorter")
                    /*
                     * td.collapsible = collapse to the first table row and show +/-
                     * td.collapsible_alt = anchor to order number
                     */
                    .collapsible("td.collapsible", {
                        collapse: true
                    })
                    .tablesorter({
                    // set default sort column
                    sortList: [[4,0]],
                    // don't sort by first column
                    headers: {0: {sorter: false}}
                    // set the widgets being used - zebra stripping
                    , widgets: ['zebra']
                    , onRenderHeader: function (){
                        this.wrapInner("<span></span>");
                    }
                    , debug: false
                })
                .tablesorterPager({container: $("#pager"), positionFixed: false})
                    ;

                    // Expand/Collapse all
                        $('a#ShowButton').click(function(){
                            var linkLabel = this.innerHTML;
                            switch(linkLabel) 
                            {
                            case "Show History":
                                $("td.collapsible a").removeClass("expanded").click();
                                this.innerHTML= "Hide History"
                                break;
                            case "Hide History":
                                $("td.collapsible a").addClass("expanded").click();
                                this.innerHTML= "Show History"
                                break;
                            }
                        return false;
                        }); 

                        var oTable = $('#example').dataTable( {
                        "sDom": 'Rlfrtip'
                        } );


            }

        );
</script>
jquery datatables pagination tablesorter
1个回答
0
投票

尝试使用页面更改/过滤时触发的事件:

$("#example").on("draw", function() {
    someFunction();
});

在那里您可以运行拖放功能。 另一种选择是在每次拖放后保存列布局,然后当表格触发绘制时,重新创建该布局。我不确定您使用的插件是如何准确工作的,但我认为您可以使用绘制事件并使其正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.