六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 100|回复: 0

extjs grid 搜索 分页

[复制链接]

升级  36%

4

主题

4

主题

4

主题

童生

Rank: 1

积分
18
 楼主| 发表于 2013-2-7 01:37:12 | 显示全部楼层 |阅读模式
<script type="text/javascript">  Ext.onReady(function(){      var ds = new Ext.data.Store({//这是数据源          proxy : new Ext.data.HttpProxy({url:'index.php?model=user&action=list&'}),          reader: new Ext.data.JsonReader({              root: 'topics',              totalProperty: 'totalCount',              id: 'user_id'              },[              'user_id','username','real_name','telephone','station_status','headship'          ])      });        var colModel = new Ext.grid.ColumnModel([//定义列           {header:'ID',width:50,sortable:true,dataIndex:'user_id'},           {id:'title',header:'用户名', width:100,sortable:true,dataIndex:'username'},           {header:'真实姓名',width:100,sortable:true,dataIndex:'real_name'},           {header:'电话',width:100,sortable:true,dataIndex:'telephone'},           {header:'岗位状态',width:100,sortable:true,dataIndex:'station_status'},           {header:'职务',width:100,sortable:true,dataIndex:'headship'}          ]);      var tb = new Ext.Toolbar('north-div');//创建一个工具条            tb.add({          text: '添加',          handler: newUser          },{          text: '编辑',          handler: editUser          },{          text: '删除',          handler: delUser      });                var grid = new Ext.grid.GridPanel({//列表                  border:false,                  region:'south',                  height:500,                  loadMask: true,                  el:'center',                  title:'条目列表',                  store: ds,                  cm: colModel,                  autoScroll: true,                  bbar: new Ext.PagingToolbar({                      pageSize: 20,                      store: ds,                      displayInfo: true,                      displayMsg: '第{0} 到 {1} 条数据 共{2}条',                      emptyMsg: "没有数据"                  })              });      var top = new Ext.FormPanel({//这里是搜索表单          buttonAlign:'right',          labelWidth:70,          region:'center',          frame:true,          title: '搜索',          items: [{                  layout:'column',                  items:[{                      columnWidth:.33,                      layout: 'form',                      items: [{                          xtype:'textfield',                          fieldLabel: '用户名',                          id: 'username',                          name: 'username',                          anchor:'90%'                      }]                  },{                      columnWidth:.33,                      layout: 'form',                      items: [{                          xtype:'textfield',                          fieldLabel: '姓名',                          name: 'real_name',                          id: 'real_name',                          anchor:'90%'                      }]                  },{                      columnWidth:.33,                      layout: 'form',                      items: [{                          xtype:'textfield',                          fieldLabel: 'Email',                          name: 'email',                          id: 'email',                          vtype:'email',                          anchor:'90%'                      }]                  }]              }          ],            buttons: [{              text: '保存',              handler:function(){                                  // 这里是关键,重新载入数据源,并把搜索表单值提交                  ds.load({params:{start:0, limit:20,                      username:Ext.get('username').dom.value,                      real_name:Ext.get('real_name').dom.value,                      email:Ext.get('email').dom.value}});              }          },{              text: '重置',              handler:function(){top.form.reset();}          }]      });      var viewport = new Ext.Viewport({          layout:'border',          items:[{                border:false,                region:'north',                contentEl:'north-div',                tbar:tb,                height:26              },top,              grid          ]}      );      ds.load({params:{start:0, limit:20}});          // 这里很关键,如果不加,翻页后搜索条件就变没了,这里的意思是每次数据载入前先把搜索表单值加上去,这样就做到了翻页保留搜索条件了      ds.on('beforeload',function(){          Ext.apply(          this.baseParams,          {              username:Ext.get('username').dom.value,              real_name:Ext.get('real_name').dom.value,              email:Ext.get('email').dom.value          });      });      function newUser() {          parent.newTab('400012','添加用户','index.php?model=user&action=add');      }      function editUser() {          var s = grid.getSelectionModel().getSelections();          if (s.length==0) {              Ext.Msg.alert('出错啦','你还没有选择要操作的记录!');          }          for (i=0;i<s.length;i++) {              var id = s.id;              parent.newTab('400012'+id,'编辑用户','index.php?model=user&action=add&user_id='+id);          }      }      function delUser() {          var ids = getId(grid);          if (ids) {              Ext.Msg.confirm('确认', '真的要删除吗?', function(btn){                  if (btn == 'yes'){                      Ext.Ajax.request({                         url: 'index.php?model=user&action=delete&ids='+ids,                         success: function(result){                              json = Ext.util.JSON.decode(result.responseText);                              ds.reload();                              }                      });                }              });               } else {              Ext.Msg.alert('出错啦','你还没有选择要操作的记录!');          }      }      loadend();  });  </script>  <div id="north-div"></div>  <div id="center"></div>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表