我要求在此处仅显示页面加载时的两条记录,当用户点击显示所有按钮时,应显示其余的记录。
我目前正在做的是,在加载时只将两条记录绑定到网格,并在点击show all按钮时销毁网格并使用所有记录再次创建它。
使用这种方法,当我显示记录数时,用户会感到困惑,因为最初记录总数只有2,点击显示全部记录将根据记录改变。
为了避免这种情况,我想首先绑定所有记录,并通过某种kendo设置只显示两条记录。
这可能吗?
我也在使用angularjs,并将角度$ scope对象作为数据源分配给网格。
答案 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>
如果有任何疑虑,请告诉我。