在项目中某些模块进行查询时,可以通过form.findField('xxx');的方式一一获得表单参数,然后传递到后台进行查询。
我们可以通过如下的方式获取,只需要调用prepareParamsFromForm 方法并将frm对象以及列表对象当做参数传递进去,即可实现对表单数据参数的赋值。
1、 获取表单数据
var prepareParamsFromForm = function(frm, store) {
store.baseParams = {};
var params = frm.getValues(true);
// alert(params);
var paramsArr = params.split("&");
for (var i = 0; i < paramsArr.length; i++) {
var paramsField = paramsArr[i].split("=")[0];
var paramsValue = paramsArr[i].split("=")[1];
if (!paramsValue || decodeURI(paramsValue) == "请选择") {
continue;
}
paramsValue = decodeURI(paramsValue);
// 替换所有%2C为逗号
while ((paramsValue = paramsValue.replace('%2C', ',')).indexOf('%2C') != -1);
if (store.baseParams[paramsField]) {
store.baseParams[paramsField] += "," + paramsValue;
} else {
store.baseParams[paramsField] = paramsValue;
}
}
}
2、对表单数据进行了组装时候则需要调用updateGrid方法更新grid数据
updateGrid(grid, {
start : 0,
limit : 20
}, function() {
btn.enable();
});
该公共方法的具体实现如下
var updateGrid = function(grid, params, callback) {
emptyGrid(grid);
var store = grid.getStore();
var tbar = grid.getTopToolbar();
var bbar = grid.getBottomToolbar();
store.load({
params : params ? params : {},
callback : function() {
////更新分页
if (tbar) {
tbar.updateInfo();
}
if (bbar) {
bbar.updateInfo();
}
//执行回调
if (callback && typeof(callback) == 'function') {
callback();
}
}
});
}
内部的清空列表公共方法如下
/**
* 清空列表
* @param {} grid
*/
var emptyGrid = function(grid) {
if (!grid) {
Ext.MessageBox.alert("错误", "列表不存在");
return;
}
var store = grid.getStore();
if (!store) {
Ext.log("错误", "列表的数据集不存在");
return;
}
//清空复选框
var sm = grid.getSelectionModel();
if (sm) {
// 清空所有选择项和全选
var t = Ext.get('x-grid3-hd-checker');
if (t && t.dom.className == 'x-grid3-hd-checker') {
var hd = Ext.fly(t.dom.parentNode);
hd.removeClass('x-grid3-hd-checker-on');
sm.clearSelections();
} else {
sm.clearSelections();
}
}
var tbar = grid.getTopToolbar();
var bbar = grid.getBottomToolbar();
//数据集
store.removeAll();
//更新分页
if (bbar && bbar.updateInfo) {
bbar.updateInfo();
bbar.afterTextEl.el.innerHTML = String.format("共 {0} 页", 1);
bbar.first.setDisabled(true);
bbar.prev.setDisabled(true);
bbar.next.setDisabled(true);
bbar.last.setDisabled(true);
//bbar.loading.disable();
}
}
分享到:
相关推荐
第一步:创建一个数据集(就是你表单需要的数据) 如果你表单都是一些正常的数据,比如 text 什么的。你定义好数据集,就去用 v-model 绑定数据。这样就可以实现数据同步了。 数据集 v-model绑定 如果你的数据不...
实例202 如何在一个数据集中浏览另一个数据集的数据 实例203 如何在数据库更新过程中增加事务操作 实例204 如何在程序中实现查找字段 实例205 如何在程序中实现自定义字段 实例206 如何使用字段拖放功能 实例...
实例202 如何在一个数据集中浏览另一个数据集的数据 实例203 如何在数据库更新过程中增加事务操作 实例204 如何在程序中实现查找字段 实例205 如何在程序中实现自定义字段 实例206 如何使用字段拖放功能 实例...
实例202 如何在一个数据集中浏览另一个数据集的数据 实例203 如何在数据库更新过程中增加事务操作 实例204 如何在程序中实现查找字段 实例205 如何在程序中实现自定义字段 实例206 如何使用字段拖放功能 实例...
实例152 通过$_POST方法获取表单元素 182 实例153 通过GET方法提交表单元素 184 实例154 通过$_GET方法获取表单元素 185 3.2 文本框组件的应用 186 实例155 以文本域的形式显示数据信息 186 实例156 限制多行文本域...
实例152 通过$_POST方法获取表单元素 182 实例153 通过GET方法提交表单元素 184 实例154 通过$_GET方法获取表单元素 185 3.2 文本框组件的应用 186 实例155 以文本域的形式显示数据信息 186 实例156 限制多行文本域...
从输入框输入数据,在servlet层通过request.getParameter()获取form表单提交的参数,将获得的用户名、密码作为参数调用dao层的方法进行查询数据库,select * from t_user_info where username=? andpassword =? 如果...
90、读取表单中所有参数 91、分行写入数据 92、显示请求URL 93、判断session是否过期 94、参数式查询数据库 95、取得数据库中各栏名称 96、使用JavaBean、设置和获取Bean的属性 97、设置Bean的一个属性与输入参数...
90、读取表单中所有参数 91、分行写入数据 92、显示请求URL 93、判断session是否过期 94、参数式查询数据库 95、取得数据库中各栏名称 96、使用JavaBean、设置和获取Bean的属性 97、设置Bean的一个属性与输入参数...
115 <br>0192 如何获取“我的文档”系统文件夹路径 115 <br>0193 如何获取应用程序当前执行的路径 116 <br>0194 如何获取当前操作系统的信息 116 <br>0195 如何实现基本数据类型随意转换 116...
使用ADO.NET <br>第9章 ADO.NET简介 <br>9.1 ADO.NET概述 9.2 执行常见的数据库任务 9.2.1 打开数据库链接 9.2.2 从数据库表获取记录 9.2.3 在查询中使用参数 9.2.4 向数据库添加记录 ...
使用ADO.NET <br>第9章 ADO.NET简介 <br>9.1 ADO.NET概述 9.2 执行常见的数据库任务 9.2.1 打开数据库链接 9.2.2 从数据库表获取记录 9.2.3 在查询中使用参数 9.2.4 向数据库添加记录 ...
使用ADO.NET <br>第9章 ADO.NET简介 <br>9.1 ADO.NET概述 9.2 执行常见的数据库任务 9.2.1 打开数据库链接 9.2.2 从数据库表获取记录 9.2.3 在查询中使用参数 9.2.4 向数据库添加记录 ...
使用ADO.NET <br>第9章 ADO.NET简介 <br>9.1 ADO.NET概述 9.2 执行常见的数据库任务 9.2.1 打开数据库链接 9.2.2 从数据库表获取记录 9.2.3 在查询中使用参数 9.2.4 向数据库添加记录 ...