无法通过自定义按钮刷新 Kendo 网格?
Cannot refresh Kendo Grid by a custom button?
我已经尝试了 Whosebug 和其他页面上建议的许多不同方法,但仍然无法刷新 Kendo 网格上的数据。我在应用以下方法时遇到 "TypeError: $(...).data(...) is undefined" 错误。有什么帮助吗?
<div id="grid"></div>
<button id="refresh" class="k-button" onclick="Refresh()">Refresh</button>
<script>
var grid = $("#grid").kendoGrid({
//code omitted for brevity
dataSource: {
type: "json",
transport: {
read: {
url: "/Event/Event_Read",
dataType: "json",
cache: false
}
},
schema: {
model: {
fields: {
CardNo: { type: 'number' }
//code omitted for brevity
}
}
}
},
pageable: {
pageSize: 15,
refresh: true
},
filterable: true,
columns:
[
{ field: "CardNo", title: "Card No", filterable: true }
//code omitted for brevity
]
}).data("kendoGrid");
function Refresh() {
$("#grid").data("kendoGrid").dataSource.read();
$("#grid").data("kendoGrid").refresh();
}
</script>
你好试试这个代码,包括以下 css 和 js 并尝试重新加载网格。
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" href="styles/kendo.common.min.css" />
<link rel="stylesheet" href="styles/kendo.default.min.css" />
<script src="js/jquery.min.js"></script>
<script src="js/kendo.all.min.js"></script>
</head>
<body>
<div id="grid"></div>
<button id="refresh" class="k-button" onclick="Refresh()">Refresh</button>
<script type="text/javascript">
$(function () {
var grid = $("#grid").kendoGrid({
//code omitted for brevity
dataSource: {
type: "json",
transport: {
read: {
url: "/Event/Event_Read",
dataType: "json",
cache: false
}
},
schema: {
model: {
fields: {
CardNo: { type: 'number' }
//code omitted for brevity
}
}
}
},
pageable: {
pageSize: 15,
refresh: true
},
filterable: true,
columns:
[
{ field: "CardNo", title: "Card No", filterable: true }
//code omitted for brevity
]
}).data("kendoGrid");
function Refresh() {
$("#grid").data("kendoGrid").dataSource.read();
$("#grid").data("kendoGrid").refresh();
}
});
</script>
对我有用,请查看 this telerik 网站作为参考。
这应该刷新网格:
$("#grid").data("kendoGrid").dataSource.read();
刷新方法从数据源再次填充网格。如果数据没有改变,网格也不会改变。
如果您收到 firebug 错误
TypeError: $(...).data(...) is undefined
说明调用这段代码时网格还没有初始化,或者选择器错误。
确保您没有将 grid 的名称与其他控件混淆
尝试更改您的选择器名称。
$("#MyGrid").data("kendoGrid").dataSource.read();
请试试这个
$(".k-pager-refresh").trigger('click');
在你的刷新函数中
或者试试这个
$("#grid").data("kendoGrid").dataSource.read();
$("#grid").data("kendoGrid").refresh();
这对你有帮助
此致,
我已经尝试了 Whosebug 和其他页面上建议的许多不同方法,但仍然无法刷新 Kendo 网格上的数据。我在应用以下方法时遇到 "TypeError: $(...).data(...) is undefined" 错误。有什么帮助吗?
<div id="grid"></div>
<button id="refresh" class="k-button" onclick="Refresh()">Refresh</button>
<script>
var grid = $("#grid").kendoGrid({
//code omitted for brevity
dataSource: {
type: "json",
transport: {
read: {
url: "/Event/Event_Read",
dataType: "json",
cache: false
}
},
schema: {
model: {
fields: {
CardNo: { type: 'number' }
//code omitted for brevity
}
}
}
},
pageable: {
pageSize: 15,
refresh: true
},
filterable: true,
columns:
[
{ field: "CardNo", title: "Card No", filterable: true }
//code omitted for brevity
]
}).data("kendoGrid");
function Refresh() {
$("#grid").data("kendoGrid").dataSource.read();
$("#grid").data("kendoGrid").refresh();
}
</script>
你好试试这个代码,包括以下 css 和 js 并尝试重新加载网格。
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" href="styles/kendo.common.min.css" />
<link rel="stylesheet" href="styles/kendo.default.min.css" />
<script src="js/jquery.min.js"></script>
<script src="js/kendo.all.min.js"></script>
</head>
<body>
<div id="grid"></div>
<button id="refresh" class="k-button" onclick="Refresh()">Refresh</button>
<script type="text/javascript">
$(function () {
var grid = $("#grid").kendoGrid({
//code omitted for brevity
dataSource: {
type: "json",
transport: {
read: {
url: "/Event/Event_Read",
dataType: "json",
cache: false
}
},
schema: {
model: {
fields: {
CardNo: { type: 'number' }
//code omitted for brevity
}
}
}
},
pageable: {
pageSize: 15,
refresh: true
},
filterable: true,
columns:
[
{ field: "CardNo", title: "Card No", filterable: true }
//code omitted for brevity
]
}).data("kendoGrid");
function Refresh() {
$("#grid").data("kendoGrid").dataSource.read();
$("#grid").data("kendoGrid").refresh();
}
});
</script>
对我有用,请查看 this telerik 网站作为参考。
这应该刷新网格:
$("#grid").data("kendoGrid").dataSource.read();
刷新方法从数据源再次填充网格。如果数据没有改变,网格也不会改变。
如果您收到 firebug 错误
TypeError: $(...).data(...) is undefined
说明调用这段代码时网格还没有初始化,或者选择器错误。 确保您没有将 grid 的名称与其他控件混淆
尝试更改您的选择器名称。
$("#MyGrid").data("kendoGrid").dataSource.read();
请试试这个
$(".k-pager-refresh").trigger('click');
在你的刷新函数中
或者试试这个
$("#grid").data("kendoGrid").dataSource.read();
$("#grid").data("kendoGrid").refresh();
这对你有帮助
此致,