【extjs】 extjs5 Ext.grid.Panel 搜索示例
先看效果图:

页面js:
<script type="text/javascript"> /**
* 日志类型 store
* */
var logTypeStore = Ext.create('Ext.data.Store', {
fields: ['type', 'name'],
data : [
{"type":"1", "name":"登录日志"},
{"type":"2", "name":"操作日志"}
]
}); /**
* 搜索面板
* */
var panel = Ext.create('Ext.form.Panel', {
title: '按条件搜索',
// width: 600,
defaultType: 'textfield',
frame: true,
method: 'POST',
collapsible: true,//可折叠
titleCollapse:true,
bodyPadding: 5,
layout: 'column',
items: [{
fieldLabel: '日志类型',
labelWidth:60,
id: 'type',
xtype:"combo",
editable:false,
store:logTypeStore,
valueField:'type',
displayField:'name'
}, {
fieldLabel: '日志开始时间',
labelWidth:78,
id: 'start',
xtype:"datefield",
format: 'Y-m-d',
editable:false
},{
fieldLabel: '日志结束时间',
labelWidth:78,
id: 'end',
xtype:"datefield",
format: 'Y-m-d',
editable:false
},{
xtype: 'button',
text: '搜索',
iconCls :"search",
margin: '0 0 0 5',
handler: function () {
var start = Ext.getCmp('start').getValue(); //获取文本框值
var end = Ext.getCmp('end').getValue();
var type = Ext.getCmp('type').getValue(); logStore.load({ params: { startDate: start,endDate:end,type:type} });//传递参数 }
}],
renderTo: Ext.getBody()
});
//数据
var logStore=Ext.create('Ext.data.Store', {
storeId:'logStore',
fields:['type', 'param', 'url','vip','vtime','lid'],
proxy: {
type: 'ajax',
url:'${pageContext.request.contextPath}/back/sysLog/sysLogList.do',
reader: {
// 設置 json樣式
type: 'json',
rootProperty:"rows", //json 数据根节点
totalProperty:"total"//总数
}
},
autoLoad: true,
pageSize:25 //每页记录数默认25
}); logStore.on('beforeload',function(store, options){
var start = Ext.getCmp('start').getValue(); //获取文本框值
var end = Ext.getCmp('end').getValue();
var type = Ext.getCmp('type').getValue();
var new_params ={ startDate: start,endDate:end,type:type};
Ext.apply(store.proxy.extraParams, new_params);
});
logStore.load({
params: {
start: 0,
limit: 10
}
}); var ckm=Ext.create("Ext.selection.CheckboxModel");
Ext.onReady(function(){ /**
Grid 数据展示
*/
Ext.create('Ext.grid.Panel', {
title: '日志信息',
id:'logGridPanel',
selModel:ckm,
store:logStore,// Ext.data.StoreManager.lookup('simpsonsStore'),
columns: [
{ text: '日志ID', dataIndex: 'lid',align: 'center',hidden:true,hideable:false,sortable:false }, { text: '标题', dataIndex: 'title',align: 'center',sortable:false },
{ text: '访问链接', dataIndex: 'url',align: 'center',sortable:false },
{ text: '访问者IP', dataIndex: 'vip',align: 'center',sortable:false },
{ text: '日志时间', dataIndex: 'vtime',align: 'center',scope:this,renderer:function(value){
var val=longToString(value,'Y-m-d H:m:s')
//console.info('获取的值为:{}'+value+' , '+val);
return val;
} },
{ text: '日志类型', dataIndex: 'type',align: 'center',sortable:false,renderer:function(value){
// console.info('用户类型:'+value+",类型:"+ typeof value);
return value==1?"登录日志":"操作日志";
} },
{ text: '请求参数', dataIndex: 'param',align: 'center',sortable:false },
],
forceFit:true,//强制列表宽度自适应
autoLoad:true,
//工具条
tbar: Ext.create('Ext.toolbar.Toolbar',{ //width : 500,
items: [{
text: '删除',
xtype: 'button',
iconCls: 'delete',
id: 'log_delete',
hidden:false,
handler: logInfoDel
}] }),
renderTo: Ext.getBody(),
//分页
bbar: Ext.create('Ext.toolbar.Paging',{
beforePageText:'当前第',
afterPageText:'页',
refreshText:'刷新',
store:logStore,
displayInfo:true,
displayMsg:'显示:{0}-{1}条,总共:{2}条',
emptyMsg:'当前查询无记录'
})
});
}); //删除日志信息
function logInfoDel(){ var uid='';
var selectionModel = Ext.getCmp('logGridPanel').getSelectionModel();
var selection = selectionModel.getSelection();
if(selection.length==0){
Ext.Msg.alert("提示","请选择要删除的记录!");
return ;
}else{
Ext.Msg.confirm("提示","确定删除?",function(button, text){
if(button=="yes"){
for(var i=0;i<selection.length;i++){
uid = uid+selection[i].get('lid')+",";
}
Ext.Ajax.request({
url: '${pageContext.request.contextPath}/back/sysLog/delete.do',
params:{ids:uid},
/**
*Object {request: Object, requestId: 3, status: 200, statusText: "OK",
* responseText: "{"restMsg":"用户删除成功!","success":true}"…}
* @param response
* @param opts
*/
success: function(response, opts) { Ext.Msg.alert("信息提示","日志信息刪除成功!");
Ext.getCmp('logGridPanel').getStore().reload();
},
failure: function(response, opts) {
Ext.Msg.alert("信息提示","刪除失敗!");
}
});
}
}); } } </script>
【extjs】 extjs5 Ext.grid.Panel 搜索示例的更多相关文章
- [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)
先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'ema ...
- 【extjs】 ext5 Ext.grid.Panel 分页,搜索
带有分页,搜索的grid. <%@page language="java" contentType="text/html; charset=UTF-8" ...
- ExtJs 学习之开篇(三)Ext.grid.Panel表格中的处理
Ext.grid.Panel Ext.create('Ext.grid.Panel',{ title:'测试表格', width:400, height:20 ...
- 完善ext.grid.panel中的查询功能(紧接上一篇)
今天的代码主要是实现,Ext.grid.panel中的查询,其实我也是一名extjs新手,开始想的实现方式是另外再创建一个新的grid类来存放查询出的数据(就是有几个分类查询就创建几个grid类),这 ...
- Ext.grid.Panel表格分页存储过程
/*首先需要引入两个Extjs插件类 Ext.ux.data.PagingMemoryProxy和Ext.ux.ProgressBarPager这两个类*/ /*下面是控制弹出窗体放大缩小时窗体居中的 ...
- Ext.grid.Panel 数据动态改变后刷新grid
gridPanel中加载的数据分为两种:一种是本地数据加载,那另一种就是后台数据加载. 在表格中增.删.改.查 是必不可少的. 那么数据动态改变后怎样刷新表格中的数据呢. 一.后台取数据 var gr ...
- Ext.grid.Panel表格分页
转载:http://www.cnblogs.com/libingql/archive/2012/04/22/2464994.html cshtml @{ Layout = null; } <!D ...
- 导出Ext.grid.Panel到excel
1.客户端定义,基本的想法是form提交表格头定义,数据,以json方式传输 Ext.grid.Panel.addMembers({ exportExcel:function(options){ if ...
- Extjs——简单的Grid panel小实例
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
随机推荐
- jQuery实现产品滚动效果
html: <div class="win_list_b"> <div class="scroll" style="height: ...
- 【转】ChainMapper 实例理解二
package com.oncedq.code; import java.io.DataInput; import java.io.DataOutput; import java.io.IOExcep ...
- httpclient 发送一个请求
httpclient版本 4.1 发送一个post请求 public static JSONObject post(String url,JSONObject json){ HttpClient cl ...
- 如何让Visual Studio 清除最近打开项目 关闭上次未关闭的标签窗口
删除最近打开的文件: 打开HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\FileMRUList 删除最近打开的项目: 打开HKEY_CUR ...
- 15. 3Sum
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...
- 数字字符与金钱RMB之间的转换
FormatMoney() 函数,直接将一个数字字符串,转化为 万元,并且格式化小数点保留两位 如右->¥(元.角.分) sprintf("%.2f", $value) ...
- mysql5.6启动占用内存很大的解决方法
vps的内存为512M,安装好nginx,php等启动起来,mysql死活启动不起来看了日志只看到对应pid被结束了,后跟踪看发现是内存不足被killed; 调整my.cnf 参数,重新配置(系统默认 ...
- 【P1326】超级教主
DP优化 原题: LHX教主很能跳,因为Orz他的人太多了.教主跳需要消耗能量,每跳1米就会消耗1点能量,如果教主有很多能量就能跳很高.教主为了收集能量,来到了一个神秘的地方,这个地方凡人是进不来的. ...
- 简单工厂模式(Simple Factory Pattern)
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂 ...
- 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感[转]
近日,在网易公开课视频网站上看完了<机器学习>课程视频,现做个学后感,也叫观后感吧. 学习时间 从2013年7月26日星期五开始,在网易公开课视频网站上,观看由斯坦福大学Andrew Ng ...