kendoui:grid - 在网格的顶部和底部设置寻呼机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kendoui:grid - 在网格的顶部和底部设置寻呼机相关的知识,希望对你有一定的参考价值。

有一种简单的情况找不到解决方案。 Kendo-UI仅在底部实现网格分页。我试图让它在顶部显示寻呼机,但它变得无法点击。我认为我的克隆部分是错误的,但不知道如何解决它。先谢谢你们。

这里是脚本和jsp的一部分......

<kendo:grid name="grid" pageable="true" dataBound="onBound">
    <kendo:dataSource serverPaging="true" serverSorting="true">
        <kendo:dataSource-transport>
            <kendo:dataSource-transport-read url="api/items" />
        </kendo:dataSource-transport>
        <kendo:dataSource-schema data="data" total="total" />
    </kendo:dataSource>
    <kendo:grid-columns>
        <kendo:grid-column title="id" field="itemId"></kendo:grid-column>
    </kendo:grid-columns>
</kendo:grid>



<script type="text/javascript">
    function onBound() {
        var grid = $("#grid");
        grid.find(".k-grid-pager")
            .clone()
            .insertBefore(grid.find(".k-grid-header"))
            .addClass("pagerTop").css("border-width", "0 0 1px 0");
    }   
</script>
答案

试试这个,我希望它有所帮助。

function BindTopPager(e) {

    var gridView = $('#grid').data('kendoGrid'),
        pager = $('#div .k-pager-wrap'),
        id = pager.attr('id') + '_top',
        $grid = $('#grid'),
        topPager;

    if (gridView.topPager === null) {
        // create top pager div
        topPager = $('<div/>', {
            'id': id,
            'class': 'k-pager-wrap pagerTop'
        }).insertBefore($grid.find('.k-grid-header'));

        // copy options for bottom pager to top pager
        gridView.topPager = new kendo.ui.Pager(topPager, $.extend({}, gridView.options.pageable, { dataSource: gridView.dataSource }));

        // cloning the pageable options will use the id from the bottom pager
        gridView.options.pagerId = id;

        // DataSource change event is not fired, so call this manually
        gridView.topPager.refresh();
    }
}

var grid = $("#grid").data("kendoGrid");
grid.bind("dataBound", BindTopPager);
grid.dataSource.fetch();

DEMO

另一答案

我使用上面的代码并进行了一些调整以使其工作。我把它变成了JS方法。

function moveNavigationToTopOnGrid(gridSelector) {
    var grid = $(gridSelector).data("kendoGrid"),
        pager = $(gridSelector + ' .k-pager-wrap'),
        id = pager.prop('id') + '_top',
        $grid = $(gridSelector);

    if (!grid.topPager) {
        // create top pager div
        topPager = $('<div/>', {
            'id': id,
            'class': 'k-pager-wrap pagerTop'
        }).insertBefore($grid);

        // copy options for bottom pager to top pager
        grid.topPager = new kendo.ui.Pager(topPager, $.extend({}, grid.options.pageable, { dataSource: grid.dataSource }));

        // cloning the pageable options will use the id from the bottom pager
        grid.options.pagerId = id;

        // DataSource change event is not fired, so call this manually
        grid.topPager.refresh();
    }
}

以上是关于kendoui:grid - 在网格的顶部和底部设置寻呼机的主要内容,如果未能解决你的问题,请参考以下文章

2022-08-26:用一个大小为 m x n 的二维网格 grid 表示一个箱子 你有 n 颗球。箱子的顶部和底部都是开着的。 箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角, 可以将球导

如何从 ajax 查询将数据绑定到 kendoui 网格?

工具栏上带有自动完成功能的 kendoui Grid?

KendoUI Grid 服务器分页

用于选择的 KendoUI Grid Ajax 绑定参数

如何在 KendoUI Tabstrip 中访问 KendoUI Grid 选定行哈希模板(KendoUI)值