Paginator не отображается в Tabview для таблиц данных

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


person C LaBelle    schedule 04.01.2012    source источник


Ответы (1)


Ну... Я ответил на свой вопрос хорошим ночным сном. Вам нужно создать конфигурационную переменную и установить для свойства контейнеров разные значения для каждой таблицы данных (например: разбиение на страницы1, разбиение на страницы2, разбиение на страницы3). В HTML-разметке вам нужно создать два контейнера div, первый идентификатор тега должен быть установлен на имя контейнера для таблицы данных, а второй — на имя контейнера для разбиения на страницы.

<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...
person C LaBelle    schedule 05.01.2012