Paginator не отображается в Tabview для Datatables

Хорошо, у меня есть веб-страница с контейнером вкладок. Контейнер имеет три вкладки. Все из которых содержат таблицы данных. Каждый набор данных отличается. Когда я настраиваю paginator для datatables и под конфигами, он работает чудесно. На первой вкладке это. Две другие вкладки не получают ссылки / кнопки / параметры для пагинатора. Я могу изменить значения в первой таблице данных, и это отражается на двух других таблицах данных. Есть идеи, что я делаю неправильно или что я могу сделать? Спасибо вам большое!

1 ответ

Ну... я ответил на свой вопрос с хорошим ночным сном. Вам необходимо создать конфигурационную переменную var и установить для свойства контейнера разные значения для каждого объекта данных (например, pagination1, pagination2, pagination3). В разметке HTML вам нужно создать два контейнера div, для первого идентификатора тега должно быть указано имя контейнера для таблицы данных, а для второго - имя контейнера для paginator.

<div class="yui-content">
    <div id="tab1">
        <div id="datatable1" class="yui-dt-nowrap"></div>
        <div id="pagination1"></div>
    </div>
    <div id="tab2">
        <div id="datatable2" class="yui-dt-nowrap"></div>
        <div id="pagination2"></div>
    </div>
    <div id="tab3">
        <div id="datatable3" class="yui-dt-nowrap"></div>
        <div id="pagination3"></div>
    </div>
</div>

var configs = {
    paginator: new YAHOO.widget.Paginator({
        rowsPerPage: 25,
        template: YAHOO.widget.Paginator.TEMPLATE_ROWS_PER_PAGE,
        rowsPerPageOptions: [25,50,100],
        pageLinks: 5,
        containers: "pagination1"
    }), 
    width :"99%", 
    draggableColumns:true, 
    formatRow: descriptionToTitleFormatter
};

var datatable1 = new YAHOO.widget.ScrollingDataTable("datatable1",
    columnTitles, datasource1, configs);

    datatable1.subscribe("rowMouseoverEvent", datatable1.onEventHighlightRow);
    datatable1.subscribe("rowMouseoutEvent", datatable1.onEventUnhighlightRow);
});

configs = {
    paginator: new YAHOO.widget.Paginator({
        rowsPerPage: 25,
        template: YAHOO.widget.Paginator.TEMPLATE_ROWS_PER_PAGE,
        rowsPerPageOptions: [25,50,100],
        pageLinks: 5,
        containers: "pagination2"
    }), 
    width :"99%", 
    draggableColumns:true, 
    formatRow: descriptionToTitleFormatter
};

var datatable2 = new YAHOO.widget.ScrollingDataTable("datatable2",
    columnTitles, datasource2, configs);

    datatable2.subscribe("rowMouseoverEvent", datatable2.onEventHighlightRow);
    datatable2.subscribe("rowMouseoutEvent", datatable2.onEventUnhighlightRow);
});
... and so on...
Другие вопросы по тегам