Jquery dxDataGrid-与CustomStore一起使用列标题筛选器
当从下拉列表中选择一些选项并确定时,我使用的devexpress和headerFilter选项出现问题: header筛选器不会将选定的值传递给loadOptions对象,如果我用headerFilter替换lookup,但不希望查找,则它会工作 基本上,我想调用另一个api在headerFilter中加载数据 这是我的密码:Jquery dxDataGrid-与CustomStore一起使用列标题筛选器,jquery,devexpress,Jquery,Devexpress,当从下拉列表中选择一些选项并确定时,我使用的devexpress和headerFilter选项出现问题: header筛选器不会将选定的值传递给loadOptions对象,如果我用headerFilter替换lookup,但不希望查找,则它会工作 基本上,我想调用另一个api在headerFilter中加载数据 这是我的密码: var store = new DevExpress.data.CustomStore({ key: "ID", load: fu
var store = new DevExpress.data.CustomStore({
key: "ID",
load: function (loadOptions) {// loadOptions does not contains the selected value
var d = $.Deferred(),
params = {};
[
"sort",
"filter"
].forEach(function(i) {
if(i in loadOptions && isNotEmpty(loadOptions[i]))
params[i] = JSON.stringify(loadOptions[i]);
});
$.getJSON(dataTable.replace("{numberOfRow}", loadOptions.take).replace("{page}", (loadOptions.skip / loadOptions.take) + 1), params)
.done(function (result) {
d.resolve(result.UserTasks, {
totalCount: result.Count
});
});
return d.promise();
}
});
opt = {
dataSource: store,
remoteOperations: { filtering: true, sorting: true, paging: true, grouping: false },
showBorders: true,
allowColumnReordering: true,
rowAlternationEnabled: true,
filterRow: {
visible: true,
applyFilter: "auto"
},
searchPanel: {
visible: true,
width: 240,
placeholder: "Search..."
},
headerFilter: {
visible: true
},
paging: {
pageSize: 10
},
pager: {
showPageSizeSelector: true,
allowedPageSizes: [10, 20, 30],
showInfo: true
},
columns: [{
dataField: "Title",
dataType: "string",
caption:idea,
width:180,
//allowFiltering: false,
//allowSearch: true,
cellTemplate: function (element, info) {
url = url.replace("/Ideas/View", "/Ideas");
element.append("<a class='view-task' href=" + url + "/" + info.data.ID + " data-task-id=" + info.data.ID + ">" + info.data.Title + '-' + ideano + info.data.IdeaId + "</a>");
}
},
{
dataField: "FormName",
caption: form,
dataType: "string",
headerFilter: { //here its bringing all data properly
dataSource:{
store: new DevExpress.data.CustomStore({
key: "Id",
load: function (loadOptions,i) {
var d = $.Deferred(),
params = {};
[
"sort",
"filter"
].forEach(function (i) {
if (i in loadOptions && isNotEmpty(loadOptions[i]))
params[i] = JSON.stringify(loadOptions[i]);
});
$.getJSON(filterDataTable.replace("{filter}", form).replace("{numberOfRow}", loadOptions.take).replace("{page}", (loadOptions.skip / loadOptions.take) + 1), params)
.done(function (result) {
d.resolve(result.Items);
});
return d.promise();
}
})
}
}
}]
}
$("#gridContainer").dxDataGrid(opt).dxDataGrid("getDataSource");
var store=new DevExpress.data.CustomStore({
密钥:“ID”,
load:函数(loadOptions){//loadOptions不包含所选值
var d=$.Deferred(),
params={};
[
“排序”,
“过滤器”
].forEach(功能(i){
if(loadOptions中的i&&isNotEmpty(loadOptions[i]))
params[i]=JSON.stringify(loadOptions[i]);
});
$.getJSON(dataTable.replace(“{numberOfRow}”,loadOptions.take)。replace(“{page}”,(loadOptions.skip/loadOptions.take)+1),params)
.完成(功能(结果){
d、 解析(result.UserTasks{
totalCount:result.Count
});
});
返回d.promise();
}
});
选择={
数据源:存储,
remoteOperations:{筛选:true,排序:true,分页:true,分组:false},
showBorders:没错,
allowColumnReordering:true,
rowAlternationEnabled:正确,
filterRow:{
可见:对,
applyFilter:“自动”
},
搜索面板:{
可见:对,
宽度:240,
占位符:“搜索…”
},
头部过滤器:{
可见:正确
},
寻呼:{
页面大小:10
},
寻呼机:{
showPageSizeSelector:true,
允许的页面大小:[10,20,30],
showInfo:对
},
栏目:[{
数据字段:“标题”,
数据类型:“字符串”,
描述:创意,
宽度:180,
//允许过滤:错误,
//allowSearch:没错,
cellTemplate:函数(元素、信息){
url=url.replace(“/Ideas/View”,“/Ideas”);
元素。追加(“”);
}
},
{
数据字段:“FormName”,
描述:表格,
数据类型:“字符串”,
headerFilter:{//在这里,它可以正确地获取所有数据
数据源:{
商店:新建DevExpress.data.CustomStore({
密钥:“Id”,
加载:函数(加载选项,i){
var d=$.Deferred(),
params={};
[
“排序”,
“过滤器”
].forEach(功能(i){
if(loadOptions中的i&&isNotEmpty(loadOptions[i]))
params[i]=JSON.stringify(loadOptions[i]);
});
$.getJSON(filterDataTable.replace(“{filter}”,form).replace(“{numberOfRow}”,loadOptions.take).replace(“{page}”,(loadOptions.skip/loadOptions.take)+1),params)
.完成(功能(结果){
d、 解决(结果、项目);
});
返回d.promise();
}
})
}
}
}]
}
$(“#gridContainer”).dxDataGrid(opt).dxDataGrid(“getDataSource”);
请参见:或