EasyUI 数据网格行过滤中 通过远程服务器去过滤 参数是如何传递过去的,服务器是如何接收的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EasyUI 数据网格行过滤中 通过远程服务器去过滤 参数是如何传递过去的,服务器是如何接收的?相关的知识,希望对你有一定的参考价值。
remoteFilter:true就会启动远程过滤,可是参数怎么样都传不过去,具体是怎么传,怎么接收的,请高手指教
参考技术A 您好,这样的:创建并启用过滤功能。
'filters' 参数是一个过滤配置的数组。
每一项包含下列属性:
1) field:需要定义规则的域。
2) type:过滤类型,可能的值:label、text、textarea、checkbox、numberbox、validatebox、datebox、combobox、combotree。
3) options:过滤类型的选项。
4) op:过滤操作,可能的值:contains、equal、notequal、beginwith、endwith、less、lessorequal、greater、greaterorequal。
代码实例:
$('#dg').datagrid('enableFilter');
$('#dg').datagrid('enableFilter', [
field:'listprice',
type:'numberbox',
options:precision:1,
op:['equal','notequal','less','greater']
]);追问
服务器如何接收
如何像数组形式远程存储extjs一样返回数据
【中文标题】如何像数组形式远程存储extjs一样返回数据【英文标题】:how to return the data like a array form remote store extjs 【发布时间】:2017-10-19 18:43:46 【问题描述】:我有带有过滤器的网格,在过滤器上我想显示一个项目列表。通过关注过滤器选项,我应该看到带有复选框的项目列表,当我单击复选框时,它应该发送参数。我通过 加载本地数据,我想通过加载远程数据来实现它。 dataIndex: 'adjustmentTypeDescription', text: '调整类型', stateId: 'adjustmentgrid_adjustmentTypeDescription', 筛选: 类型:'列表', 标签字段:'名称', dataIndex: 'adjustmentTypeId',
store: Ext.create('Ext.data.ArrayStore',
fields: [
name: 'id',
type: 'int'
,
name: 'name',
type: 'string'
],
data: [
[2, 'AA'],
[13, 'AFF'],
[11, 'DDD'],
[15, 'Dd'],
[5, 'Fdsdt'],
[6, 'Ide']
[10, 'Return/Reject']
]
)
现在我想从服务中加载这些数据。 我试过这样:
store: Ext.create('Ext.data.ArrayStore',
autoLoad: false,
model: 'ModelName',
/*fields: [
name: 'adjustmentTypeId',
type: 'int'
,
name: 'description',
type: 'string'
],*/
proxy:
type: 'ajax',
url: 'servicurl',
timeout:120000,
reader:
type: 'array',
// rootProperty: 'data',
rootProperty:function(data)
debugger;
return data;
debugger;
//console.log(bb);
/*,
listeners:
load: function(store, records, successful,
operation, eOpts)
debugger;
var data = [];
for(var i = 0; i< 1; i++)
//data.push(records[i].data.description);
var vare = new Array();
vare[0]= records[i].data.description;
data.push(vare);
store.loadData(data);
console.log(data);
*/
)
但没有工作我如何通过进行服务调用和加载远程数据来实现这一点。
【问题讨论】:
【参考方案1】:设置autoLoad
: true
删除 reader
配置对象。由于您使用的是 ArrayStore,因此不需要这样做。并且数组数据是有位置的,所以不使用rootProperty
。
检查您是否正确定义了模型字段。
它应该可以工作。
【讨论】:
我的错误实际上存储不应该是 ArrayStore 因为来自服务器的数据是 json 格式: 我把它改成json阅读器并得到它fiddle.sencha.com/#view/editor&fiddle/28ko以上是关于EasyUI 数据网格行过滤中 通过远程服务器去过滤 参数是如何传递过去的,服务器是如何接收的?的主要内容,如果未能解决你的问题,请参考以下文章
ExtJs - 基于远程数据的分页和缓冲网格,没有远程分页和过滤