案例效果

门户引擎自定义中写了自定义表格,将此门户挂到功能的扩展面板中,通过勾选当前面板的数据过滤功能列表数据,并刷新列表

  • 筛选前效果:

  • 筛选后效果:

实现思路

  1. 在自定义门户引擎中定义gird面板

  2. 在事件中写监听事件,选中面板中的某个数据,然后将数据拼接成j_query条件,用来过滤功能列表数据并且刷新列表

  3. 在功能中引用扩展面板

操作步骤

1. 在自定义门户引擎中定义gird面板

2. 在事件中写监听事件,选中面板中的某个数据,然后将数据拼接成j_query条件,用来过滤功能列表数据并且刷新列表

3. 在功能中引用扩展面板

相关代码

/*
 自定义组件
 返回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);
            var  j_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;
}

关键字

门户引擎自定义
扩展面板

最后编辑: 呼丽华  文档更新时间: 2024-03-05 11:49   作者:呼丽华