在Kendo UI Grid

时间:2015-10-28 05:36:31

标签: jquery angularjs kendo-ui telerik kendo-grid

我要求在此处仅显示页面加载时的两条记录,当用户点击显示所有按钮时,应显示其余的记录。

我目前正在做的是,在加载时只将两条记录绑定到网格,并在点击show all按钮时销毁网格并使用所有记录再次创建它。

使用这种方法,当我显示记录数时,用户会感到困惑,因为最初记录总数只有2,点击显示全部记录将根据记录改变。

为了避免这种情况,我想首先绑定所有记录,并通过某种kendo设置只显示两条记录。

这可能吗?

我也在使用angularjs,并将角度$ scope对象作为数据源分配给网格。

1 个答案:

答案 0 :(得分:3)

请尝试使用以下代码段。

<!DOCTYPE html>
<html>
<head>
    <base href="http://demos.telerik.com/kendo-ui/treelist/local-data-binding"> 
    <title>Jayesh Goyani</title>
    <link rel="stylesheet" href="//kendo.cdn.telerik.com/2015.2.902/styles/kendo.common-bootstrap.min.css" />
    <link rel="stylesheet" href="//kendo.cdn.telerik.com/2015.2.902/styles/kendo.bootstrap.min.css" /> 
    <script src="//kendo.cdn.telerik.com/2015.2.902/js/jquery.min.js"></script>
    <script src="//kendo.cdn.telerik.com/2015.2.902/js/kendo.all.min.js"></script>
</head>
<body>
    <button value="show all" onclick="ShowAll()">Show All</button>
    <div id="grid"></div>
    <script>
        $(document).ready(function () {
            $("#grid").kendoGrid({
                dataSource: {
                    type: "odata",
                    transport: {
                        read: "https://demos.telerik.com/kendo-ui/service/Northwind.svc/Customers"
                    }
                },
                height: 550,
                groupable: true,
                dataBound: onDataBinding,
                sortable: true,
                columns: [{
                    field: "ContactTitle",
                    title: "Contact Title"
                }, {
                    field: "CompanyName",
                    title: "Company Name"
                }, {
                    field: "Country",
                    width: 150
                }]
            });
        }); 
        function onDataBinding(arg) {
            var grid = $("#grid").data("kendoGrid");
            $(grid.tbody).find("tr").hide();
            $(grid.tbody).find("tr:eq(0)").show();
            $(grid.tbody).find("tr:eq(1)").show();
        }
        function ShowAll() {
            var grid = $("#grid").data("kendoGrid");
            $(grid.tbody).find("tr").show();
        }
    </script> 
</body>
</html>

如果有任何疑虑,请告诉我。