Sorting shieldUI网格过滤器/网格刷新时的排序持久性
是否可以以某种智能优化的方式在grid.refresh()上持久化网格排序/筛选/选择?我需要在窗口调整事件中刷新网格以调整到新的窗口大小。我猜刷新会在内部破坏并重新创建网格,而不会考虑可能的活动排序/筛选/选择。因为网格可以包含大量数据(虚拟滚动),所以我希望避免不必要的数据库查询、渲染和排序。我想我正在寻找一种可以刷新现有数据的刷新方法。我在refresh method it self中找到了解决方案。它接受options对象,在这些对象中可以提供当前数据源选项来持久化。持久化排序和/或筛选的示例:Sorting shieldUI网格过滤器/网格刷新时的排序持久性,sorting,filter,grid,selection,shieldui,Sorting,Filter,Grid,Selection,Shieldui,是否可以以某种智能优化的方式在grid.refresh()上持久化网格排序/筛选/选择?我需要在窗口调整事件中刷新网格以调整到新的窗口大小。我猜刷新会在内部破坏并重新创建网格,而不会考虑可能的活动排序/筛选/选择。因为网格可以包含大量数据(虚拟滚动),所以我希望避免不必要的数据库查询、渲染和排序。我想我正在寻找一种可以刷新现有数据的刷新方法。我在refresh method it self中找到了解决方案。它接受options对象,在这些对象中可以提供当前数据源选项来持久化。持久化排序和/或筛选
var options = {
dataSource: $("#grid").swidget().dataSource
}
$("#grid").swidget().refresh(options);
如果我错了,请让我纠正。对于选择,我想可以检索选定的索引,并在调用refresh后重新选择
编辑:保留筛选和排序,但筛选行重置(丢失所有活动输入值)。这可能是一只虫子吗?如何将值保留在筛选器行中?就像他们刚刚实现的一样-下面是示例 可能会包含在下一版本中 下面是示例中执行此操作的代码:
jQuery(function ($) {
$("#grid").shieldGrid({
dataSource: {
data: gridData,
schema: {
fields: {
id: { type: Number },
name: { type: String },
company: { type: String },
phone: { type: String },
age: { type: Number },
gender: { type: String }
}
},
filter: {
// create the initial filter in that form
and: [
{ path: "name", filter: "con", value: "John" }
]
}
},
filtering: {
enabled: true
},
paging: true,
columns: [
{ field: "id", width: "250px", title: "ID" },
{ field: "name", title: "Person Name", width: "250px" },
{ field: "company", title: "Company" },
{ field: "phone", title: "Phone", width: "250px" },
{ field: "age", title: "Age" }
]
});
});
请使用该示例发布您的答案。