先看效果图:

页面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 搜索示例的更多相关文章

  1. [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)

    先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'ema ...

  2. 【extjs】 ext5 Ext.grid.Panel 分页,搜索

    带有分页,搜索的grid. <%@page language="java" contentType="text/html; charset=UTF-8" ...

  3. ExtJs 学习之开篇(三)Ext.grid.Panel表格中的处理

    Ext.grid.Panel Ext.create('Ext.grid.Panel',{        title:'测试表格',        width:400,        height:20 ...

  4. 完善ext.grid.panel中的查询功能(紧接上一篇)

    今天的代码主要是实现,Ext.grid.panel中的查询,其实我也是一名extjs新手,开始想的实现方式是另外再创建一个新的grid类来存放查询出的数据(就是有几个分类查询就创建几个grid类),这 ...

  5. Ext.grid.Panel表格分页存储过程

    /*首先需要引入两个Extjs插件类 Ext.ux.data.PagingMemoryProxy和Ext.ux.ProgressBarPager这两个类*/ /*下面是控制弹出窗体放大缩小时窗体居中的 ...

  6. Ext.grid.Panel 数据动态改变后刷新grid

    gridPanel中加载的数据分为两种:一种是本地数据加载,那另一种就是后台数据加载. 在表格中增.删.改.查 是必不可少的. 那么数据动态改变后怎样刷新表格中的数据呢. 一.后台取数据 var gr ...

  7. Ext.grid.Panel表格分页

    转载:http://www.cnblogs.com/libingql/archive/2012/04/22/2464994.html cshtml @{ Layout = null; } <!D ...

  8. 导出Ext.grid.Panel到excel

    1.客户端定义,基本的想法是form提交表格头定义,数据,以json方式传输 Ext.grid.Panel.addMembers({ exportExcel:function(options){ if ...

  9. Extjs——简单的Grid panel小实例

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

随机推荐

  1. jsonp跨域请求数据实例——手机号码查询

    前言 网上有很多开放的api,我们在本地通过ajax获取数据时,总会碰到一个问题,那就是跨域!如果不借助php等,仅仅通过js怎么解决跨域的问题呢?或许jsonp是个不错的选择. 知识准备 上篇博客 ...

  2. php 函数积累

    array_slice()<?php $a=array("red","green","blue","yellow" ...

  3. 根据评分,用js输出评价星星的样式

    <b class="starsboxox" data="1"></b> $('.starsboxox').each(function() ...

  4. hdu1059 Dividing ——多重背包

    link:http://acm.hdu.edu.cn/showproblem.php?pid=1059 最简单的那种 #include <iostream> #include <cs ...

  5. 一个方法中的ajax在success中renturn一个值,但是方法的返回值是undefind?

    https://segmentfault.com/q/1010000003762379 A页面 console.log(handleData("search_list", &quo ...

  6. HDU 2083 简易版之最短距离 --- 水题

    HDU 2083 简易版之最短距离 /* HDU 2083 简易版之最短距离 */ #include <cstdio> #include <algorithm> using n ...

  7. 查看PHP的配置信息

    查看PHP的配置信息其实一个函数就搞定了. 首先在服务器的根目录建立phpinfo.php文件. 然后打开此文件输入以下内容 <?php phpinfo(); ?> 保存此文件之后在浏览器 ...

  8. click 绑定(一)无参数的click 事件绑定

    目的 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数.大部分是用在button,input和连接a上,但是可以在任意元素上使用.   例子 <d ...

  9. 【NOIP2013】【P1441】花匠

    又一次看错题…… 原题: 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比 ...

  10. linux下shell显示-bash-4.1#不显示路径解决方法

    在linux shell中不显示路径了,显示为-bash-4.1#用起来很不方便. 如何改为显示路径的shell呢? 步骤如下: vim ~/.bash_profile (不用管.bash_profi ...