我正在使用剑道网格。它有大约 12 列需要时间来初始化剑道网格。根据搜索条件,我需要用新数据刷新而不重新初始化剑道网格(这会影响性能)。只是我需要使用新参数读取数据并将数据绑定到现有网格本身。
请提供我:1.如何使用带有新参数的kendo数据源显式读取数据?2.如何在不重新初始化的情况下将该数据源绑定到剑道网格?
如果可能的话,请提供一些例子......非常感谢任何帮助
我正在使用剑道网格。它有大约 12 列需要时间来初始化剑道网格。根据搜索条件,我需要用新数据刷新而不重新初始化剑道网格(这会影响性能)。只是我需要使用新参数读取数据并将数据绑定到现有网格本身。
请提供我:1.如何使用带有新参数的kendo数据源显式读取数据?2.如何在不重新初始化的情况下将该数据源绑定到剑道网格?
如果可能的话,请提供一些例子......非常感谢任何帮助
这对我有用。我不能说这是最好的解决方案。我只在第一次加载时初始化网格,然后在对网格的后续更改中设置 DataSouce。在此示例中,我的 assignmentFitlers 对象包含 38 个不同的可选参数,用于定义要查看的联系人。每次过滤器更改时,我的网格都会重新加载。我认为这对你有用。
function bindGrid(e) {
var assignmentFilters = e.assignmentFilters;
var gridDataSource = new kendo.data.DataSource({
transport: {
read: {
url: '@Url.Action("Read", "GridModule")',
type: 'POST',
contentType: 'application/json'
},
parameterMap: function (options) {
// Pass in Assignment filters
options.assignmentFilters = assignmentFilters;
return JSON.stringify(options);
}
},
pageSize: 20,
serverPaging: true,
serverSorting: true,
serverFiltering: true,
schema: {
data: "data",
total: "totalRows"
}
});
var $grid = $('#gridAssignments');
if (e.firstLoad) {
$grid.kendoGrid({
scrollable: true,
pageable: {
refresh: true,
pageSizes: [20, 50, 100, 500, 1000],
buttonCount: 12,
messages: {
display: "Showing {0}-{1} from {2} Provider Contacts",
empty: "No Contacts Match the Filter Criteria",
itemsPerPage: "Contacts per page"
}
},
reorderable: true,
navigatable: true,
change: gridOnChange,
dataBound: gridOnDataBound,
dataSource: gridDataSource,
columnReorder: gridColumnReorder,
columnHide: gridColumnHide,
columnResize: gridColumnResize,
columnShow: gridColumnShow,
columnMenu: {
sortable: false,
messages: {
columns: "Choose columns",
filter: "Filter",
}
},
resizable: true,
height: '720px',
filterable: true,
selectable: "row",
sortable: {
mode: "single",
allowUnsort: true
},
columns: [ @Html.Raw(Model.GridColumns.Columns) ]
});
} else {
$grid.data('kendoGrid').setDataSource(gridDataSource);
}
}