ext4【 监听事件 beforeload,用法】【grid 带参数 查询 分页 store beforeload 解决办法 】

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
	<title>demo</title>
	<base href="<%=basePath%>">
	<%
		String extPath = request.getContextPath();
		String extBasePath = request.getScheme() + "://"
				+ request.getServerName() + ":" + request.getServerPort()
				+ extPath + "/";
	%>
		<!-- 样式区 (开始) -->
		<!-- Extjs 核心样式库 -->
		<link rel="stylesheet" type="text/css"
			href="<%=extPath%>/Extjs4/resources/css/ext-all.css" />
		<!-- Extjs 中文字体显示效果补丁 -->
		<link rel="stylesheet" type="text/css"
			href="<%=extPath%>/Extjs4/resources/css/ext-ch-patch.css" />
		<!-- 小图标样式 -->
		<link rel="stylesheet" type="text/css"
			href="<%=extPath%>/Extjs4/resources/css/icons.css" />
		<!-- 样式区 (结束) -->
		<!-- JavaScript (开始) -->
		<!-- 定义Extjs常量 -->
		<script type="text/javascript">
			//域路径
			var extPath = '<%=extPath%>';
			//域名访问路径
			var extBasePath = '<%=extBasePath%>';
			//默认后台分页数据量
			var defaultPageRecordNum = 10;
		</script>
		<!-- Extjs 核心脚本 -->
		<script type="text/javascript" src="<%=extPath%>/Extjs4/bootstrap.js"></script>
		<script type="text/javascript" src="<%=extPath%>/Extjs4/ext-all.js"></script>
		<!-- Extjs 中文脚本 -->
		<script type="text/javascript" src="<%=extPath%>/Extjs4/ext-lang-zh_CN.js"></script>
		<!-- JavaScript (结束) -->
	</head>

	<body>
	</body>
</html>
<script>

	Ext.onReady(function(){
		var store = Ext.create('Ext.data.Store',{
			pageSize:10,
			fields:['id','userName','age'],
			autoLoad:false,
		    proxy: {
		        type: 'ajax',
		        url : extPath+'/gridStore.action',
		        actionMethods : {
					read : 'POST'
				},
		        reader: {
		            type: 'json',
		            root: 'resultList',
		            totalProperty:'totalCount'
		        }
		    }
		});

		store.on('beforeload', function (store, options) {
        var new_params = { id: '9999999' };
        Ext.apply(store.proxy.extraParams, new_params);
        	alert('beforeload');
    	});
		store.load({
	       params: { start: 0, limit: 10 }
	   })

		var grid = Ext.create('Ext.grid.Panel',{
			alias:'widget.gridPanel',
			height:200,
			width:400,
			store:store,
			columns:[
				{header:'id',dataIndex:'id'},
				{header:'userName',dataIndex:'userName'},
				{header:'age',dataIndex:'age'}
			],
			renderTo: Ext.getBody(),
	    });

	});

</script>




//Struts2 服务器端代码:

  public String gridStore(){
        HttpServletRequest request = ServletActionContext.getRequest();
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setCharacterEncoding("utf-8");
        System.out.println("__________________________"+request.getParameter("id"));
        try {
            response.getWriter().write("[{id:100,userName:'张三',age:24},{id:101,userName:'好人',age:24},{id:102,userName:'刘德华',age:28}]");
        } catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }


二、grid 带参数 查询 分页 store beforeload 解决办法

将搜索条件放在store的baseParams中,每次加载都赋值

yua

store.on('beforeload', function (store, options) {
        var new_params = { name: Ext.getCmp('search').getValue() };
        Ext.apply(store.proxy.extraParams, new_params);
        // alert('beforeload');
    });






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值