Плагин Tablesorter для перетаскивания страниц

Я ограничен использованием функциональности сортировщика таблиц из-за скрытых дочерних строк под родительскими строками и т. д. Поэтому я использую функциональность «мода сортировщика таблиц» 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>

person Haran Murthy    schedule 11.07.2012    source источник
comment
Можете ли вы опубликовать код js для страницы? Это бы очень помогло :)   -  person Drakkainen    schedule 11.07.2012
comment
@Iro-опубликовал это ниже этого вопроса   -  person Haran Murthy    schedule 11.07.2012
comment
Почему вы включаете jQuery дважды? Кроме того, jQuery 1.2 древний.   -  person ThiefMaster    schedule 11.07.2012
comment
@ThiefMaster- Согласен, изменил его на jquery-1.7.2-min.js, все та же проблема.   -  person Haran Murthy    schedule 11.07.2012


Ответы (1)


Попробуйте использовать событие, которое запускается при изменении/фильтрации страницы:

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

Там вы можете запустить функции перетаскивания. Другой вариант — сохранять макет столбца после каждого перетаскивания, а затем, когда таблица срабатывает, заново создавать этот макет. Я не уверен, как именно работает плагин, который вы используете, но я думаю, что вы могли бы использовать событие рисования и заставить его работать.

person Drakkainen    schedule 11.07.2012