ExtFrame里的查询页面

it2022-05-31  76

查询页面时进入一个模块的主界面

查询页面一般由三部分组成:操作栏工具条、查询参数窗口、查询结果列表

其实查询功能已基本在Grid封装章描述清楚了,这里就简单些

操作栏工具条和新增、修改界面没什么不同,在panel第一次显示时通过CommandButtonBuilder创建就可以了

查询参数窗口采用FormPanel构造,这样在GridPanel的read方法里可以直接调用FormPanel.getValues()方法获取参数,也可以不使用

查询的GridPanel使用QueryGrid(或其它封装),只需要声明grid的名字就可以自动加载格式和数据

以角色的查询页面为例,总计代码如下:

1 var roletoolbar = new Ext.Toolbar({ items: [new Ext.Toolbar.Button({ text: ' ' })] }); 2 3 var rolegrid = new QueryAllGrid({ 4 title: '查询结果', 5 frame: true, 6 moniker: 'Role', 7 gridName: 'role', 8 width: '100%', 9 height: 450 10 }); 11 12 var rolequerypanel = new Ext.Panel({ 13 width: '100%', 14 height: 800, 15 items: [rolegrid] 16 }); 17 18 var rolepanel = new Ext.Panel({ 19 tbar: roletoolbar, 20 title: '角色管理', 21 width: '100%', 22 height: 800, 23 items: [rolequerypanel], 24 listeners: { 25 beforerender: function() { 26 CommonButtonBuilder.buildToolbar(roletoolbar, 'rolepanel'); 27 } 28 } 29 });

 

30行不到脚本就可以构造出这个查询页面了(角色没有使用查询参数Panel,使用的不分页的Grid)

如果Grid带有额外预定查询条件,有以下几种模式解决:

1、继承QueryGrid,提供额外参数

2、在参数Panel里增加隐藏字段

3、在后台代码里重载DataHandler的Query方法处理

4、QueryGrid初始化时设置baseParams参数

根据条件不同采用不同模式,一般推荐采用baseParams参数,这个参数会在QueryGrid的store的load方法里合并到store的baseParams里

转载于:https://www.cnblogs.com/zuxOK/archive/2012/05/17/2505757.html

相关资源:数据结构—成绩单生成器

最新回复(0)