门户引擎自定义脚本面板,挂载到功能中,联动过滤数据
门户引擎自定义中写了自定义表格,将此门户挂到功能的扩展面板中,通过勾选当前面板的数据过滤功能列表数据,并刷新列表一、案例效果
筛选前效果:
https://doc.jepaas.com/uploads/je_doc_jepaas/images/m_26e6a454cca82e30356d9924b30732be_r.png
筛选后效果:
https://doc.jepaas.com/uploads/je_doc_jepaas/images/m_fbda2d27548f487f01bc97286a94db0d_r.png
二、 实现思路
1. 在自定义门户引擎中定义gird面板
2. 在事件中写监听事件,选中面板中的某个数据,然后将数据拼接成j_query条件,用来过滤功能列表数据并且刷新列表
3. 在功能中引用扩展面板
三、操作步骤1. 在自定义门户引擎中定义gird面板
https://doc.jepaas.com/uploads/je_doc_jepaas/images/m_2bd1eccebbb05bb5814368102a4ff662_r.png
2. 在事件中写监听事件,选中面板中的某个数据,然后将数据拼接成j_query条件,用来过滤功能列表数据并且刷新列表
https://doc.jepaas.com/uploads/je_doc_jepaas/images/m_3e874eca67dce5cbb5128488a6b8a127_r.png
3. 在功能中引用扩展面板
https://doc.jepaas.com/uploads/je_doc_jepaas/images/m_754a13a878aa4b0b3471ff8909c3cc39_r.png
四、相关代码
/*
自定义组件
返回Ext组件或者组件配置项,如:Ext.create("Ext.form.Panel",{})或者{xtype:"form"}
*/
function(){
//列表数据集
var store = Ext.create('Ext.data.Store', {
fields:['name', 'email', 'phone'],
data:{'items':[
{ 'name': 'Lisa',"email":"lisa@simpsons.com","phone":"555-111-1224"},
{ 'name': 'Bart',"email":"bart@simpsons.com","phone":"555-222-1234" },
{ 'name': 'Homer', "email":"home@simpsons.com","phone":"555-222-1244"},
{ 'name': 'Marge', "email":"marge@simpsons.com", "phone":"555-222-1254"}
]},
proxy: {
type: 'memory',//内存代理,读取本地数据,也可以配置ajax代理,可以查看
reader: {
type: 'json',
root: 'items'//列表展示的数据项配置
}
}
});
//创建列表
var grid = Ext.create('Ext.grid.Panel', {
store: store,
width: 400,
selModel: { selType: 'checkboxmodel' }, //选择框
columns: [
{ text: 'Name',dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email'},
{ text: 'Phone', dataIndex: 'phone' }
],
listeners: {
'itemclick': function (view, record, item, index, e) {
//debugger;
//Ext.MessageBox.alert("标题",record.data.name);
varj_query = {"custom": [{"cn": "and","code": "ZHAUNYUN_ABR","type": "=","value": "李四"}]}
var grid = view.up('jedataview').down('jegridview')
grid.store.proxy.extraParams.j_query = Ext.encode(j_query);
grid.reload();
}
}
});
return grid;
}
页:
[1]