好像对于EXT 一直没有特别深入的研究...不知道缺在什么地方,这是我自己学习的语言,总觉得 代码的质量存在问题..
发上来 大家看一下.
ext 带搜索条件的 查询以及分页
function QueryString()
{
var name,value,i;
var str=location.href;
var num=str.indexOf("?")
str=str.substr(num+1);
var arrtmp=str.split("&");
for(i=0;i < arrtmp.length;i++){
num=arrtmp[i].indexOf("=");
if(num>0){
name=arrtmp[i].substring(0,num);
value=arrtmp[i].substr(num+1);
this[name]=value;
}
}
}
Ext.onReady(function(){
var fm = Ext.form;
var Request=new QueryString();
var ID="";//Request["wlid"];
//
var zlUrl=getRootPath()+'servlet/SearchGoods?change=searchallGoods';
var grid = null;
var page_size = 60;
var cm = new Ext.grid.ColumnModel({
defaults: {
sortable: true
},
columns: [ new Ext.grid.CheckboxSelectionModel(),
new Ext.grid.RowNumberer(),
{
header: '客户编号',
dataIndex: 'KHcode'
}, {
header: '材料编号',
dataIndex: 'goodsCode'
},{
header: '材料名称',
dataIndex: 'shortName'
}, {
header: '规格型号',
dataIndex: 'style'
}, {
header: '单位',
dataIndex: 'unitName'
}, {
header: '封装',
dataIndex: 'APPROVALNO'
}, {
header: '厂家',
dataIndex: 'FACTORY'
}, {
header: '库存数量',
dataIndex: 'STCount'
}, {
header: '成本单价',
dataIndex: 'aprice'
}, {
id: 'description',
header: '参考进价',
dataIndex: 'PPRICE'
}, {
header: '参考售价',
dataIndex: 'SPRICE'
}, {
header: '',
dataIndex: 'unitId',
hidden:true,
hideable:false
}, {
header: '',
dataIndex: 'goodsId',
hidden:true,
hideable:false
}
]
});
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: zlUrl
}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalCount',
root: 'gridRows',
fields: [
{name:'KHcode'},
{name: 'goodsCode', mapping: 'goodsCode'},
{name: 'shortName'},
{name: 'style'},
{name:'unitName'},
{name: 'APPROVALNO'},
{name: 'FACTORY'},
{name:'STCount'},
{name: 'aprice'},
{name: 'PPRICE'},
{name: 'SPRICE'},
{name: 'unitId'},
{name: 'goodsId'}
]
})
});
//导航栏
var dsSupplier = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url:getRootPath()+'servlet/SearchGoods?change=sgoodsType'
}),
reader: new Ext.data.JsonReader({
root: 'gridRows',
totalProperty: 'totalCount'
}, [
{name: 'typeName', mapping: 'typeName'},
{name: 'typeId', mapping: 'typeId'}
])
});
var typeid="";
var combo = new Ext.form.ComboBox({
typeAhead: true,
triggerAction: 'all',
selectOnFocus :true,
listClass: 'x-combo-list-small',
store:dsSupplier,
valueField:'typeId',
displayField:'typeName',
//editable: true,
listeners:{
select: function(){
Ext.get('typeId').dom.value=this.getValue();
store.load({
params:{
start : 0,
limit : page_size,
typeId:this.getValue()//取得搜索表单文本域的值,发送到服务端
}
});
}
}
});
grid = new Ext.grid.EditorGridPanel({
autoScroll:true,
store: store,
sm : new Ext.grid.CheckboxSelectionModel(),
cm: cm,
renderTo: 'editor-grid',
width: Ext.get("content").getWidth(),
height: Ext.get("content").getHeight(),
autoExpandColumn: 'description', // column with this id will be expanded
title: '客户物料详细信息',
frame: true,
clicksToEdit: 1,
viewConfig:{
forceFit:true,//所有列都改变宽度
autoFill:true,
sortAscText:'升序',
sortDescText:'降序',
columnsText:'显示列'
},
tbar: [{
text: '请选择类别:'
},combo,'-',
{xtype:'textfield',
fieldLabel: '搜索框',
id: 'searchContent',
name: 'searchContent'
},'-',
{
text:'搜索',
handler:function(){
//Ext.get('searchContent').dom.value=Ext.getCmp('searchContent').getValue();
store.load({
params:{
start : 0,
limit : page_size,
storeId:Request["STOREID"],
wlid:Request["WLID"],
typeId:Ext.get('typeId').dom.value,
searchContent:Ext.getCmp('searchContent').getValue()
}
});
}
},
'-',{
text: '确定',
handler:function(){
var json = [];
var recordDtlArray = grid.getSelectionModel().getSelections();
for(i = 0; i<recordDtlArray.length;i++){
json.push(recordDtlArray[i].data);
}
if(json.length==0){
Ext.Msg.alert('信息','没有选中数据');
return;
}
//发送保存请求
Ext.lib.Ajax.request(
'POST',
getRootPath()+'servlet/SearchGoods?change=checkedGoods',
{
success:function(request){
var message = request.responseText;
window.returnValue=message;
window.close();
},
failure:function(){
Ext.Msg.alert("错误", "与后台联系的时候出现了问题");
}
},
'&members='+encodeURIComponent(Ext.encode(json))
);
}
}],
bbar:new Ext.PagingToolbar({
pageSize : page_size,
store : store,
displayInfo : true,
displayMsg: '',
emptyMsg: "没有数据..",
beforePageText:'第',
afterPageText:'页,共{0}页'
})
});
Ext.getCmp('searchContent').setValue(decodeURI(Request["codestr"]));
store.load({
params : {
typeId:Ext.get('typeId').dom.value,
searchContent:Ext.getCmp('searchContent').getValue(),
storeId:Request["STOREID"],
wlid:Request["WLID"],
start : 0,
limit : page_size
}
});
store.on('beforeload',function(){
Ext.apply(this.baseParams,{
typeId:Ext.get('typeId').dom.value,
storeId:Request["STOREID"],
wlid:Request["WLID"],
searchContent:Ext.getCmp('searchContent').getValue()
});
});
window.onresize = function(){
grid.setWidth(0);
grid.setHeight(0);
grid.setWidth(Ext.get("content").getWidth());
grid.setHeight(Ext.get("content").getHeight());
};
});
分享到:
相关推荐
在请求参数中,除了查询条件,还需要提供分页信息。成功响应后,数据通常以JSON格式返回,然后解析并加载到数据存储中。 5. **数据解析**:接收到服务器的响应后,需要使用`Ext.util.JSON.decode`将JSON字符串转换...
标题中的“修复Ext3.0.0中自定义分页的小bug”指的是在Ext JS框架的3.0.0版本中,用户在实现自定义分页功能时遇到的一个问题。Ext JS是一个流行的JavaScript库,主要用于构建富客户端Web应用程序,它的组件库包含了...
- 使用JDBC或者ORM框架(如Hibernate)执行SQL查询,带上分页条件。 - 将查询结果转换为JSON格式,可以通过`org.json`库或其他类似的库实现。 - 设置HTTP响应的MIME类型为`application/json`,并将JSON字符串写入...
2、在工程中找到“数据库脚本.sql”文档,然后在查询分析器中生成数据与测试数据 3、把工程布置到Tomcat服务器中去 4、在工程中找到“main.js”文档,该文档中是控制应用显示GridPanel和TreePanel示例的开关 5、在IE...
### Extjs分页遇到的问题:点击下一页时查询条件无法传递 在开发基于Extjs的应用程序时,分页是一项常用且重要...通过以上步骤,可以有效地解决Extjs分页时查询条件无法传递的问题,确保用户能够获得准确的数据结果。
"ext3+struts2+hibernate+spring的CRUD+分页"是一个典型的Java Web开发组合,用于实现全面的数据管理功能。这个组合充分利用了各个框架的优势,提供了一个强大的后端数据处理和前端展示的解决方案。 首先,EXT3是一...
在IT行业中,ExtJS是一个广泛使用的JavaScript库,用于构建富客户端的Web应用程序。它提供了丰富的组件库,包括数据...在阅读这篇博客时,可以参照给出的"extgrid"文件,查看具体的代码实现,以便更好地理解和学习。
在这个例子中,`GetPaged`方法是用于执行分页查询的,它会根据传入的条件(如`strwhere`、`sort`和`dir`)返回匹配的数据,并计算总数。最后,处理程序将结果以JSON格式返回给前端,EXT JS的Combox将解析这个JSON并...
在EXTJS中,PagingToolbar 是一个非常实用的组件,用于在大数据集上实现分页显示,提升用户体验。然而,在实际使用过程中,我们可能会遇到一些问题,比如在点击...这对于处理带有复杂查询条件的大数据集是非常重要的。
1. **收集数据**:获取表格当前显示的数据,这可能涉及到从Store中获取符合分页条件的数据。 2. **转换数据**:将这些数据转换为Excel支持的格式,如CSV或二进制格式(BIFF8)。 3. **创建下载链接**:创建一个指向...
在"Extjs2分页树 带查询功能"这个主题中,我们将深入探讨如何在ExtJS 2.x版本中实现这样一个功能。 首先,我们需要理解树形结构(Tree)在ExtJS中的工作原理。树形组件(Ext.tree.TreePanel)用于展示层次化的数据...
在"extjs2.0 画的一个带查询条件和查询结果的页面"这个主题中,我们主要探讨如何使用ExtJS 2.0版本来设计一个具有搜索功能的用户界面。这个界面包括查询条件输入区域和展示查询结果的区域。 首先,我们需要了解...
根据提供的文件信息,我们可以深入探讨...如果是在服务器端排序,那么在新的排序条件下重新加载数据即可。 通过以上步骤,我们可以在EXTJS中轻松实现分页、分组和排序功能,极大地提升了数据展示的效果和用户体验。
ext4查询表格grid ,结果集返回是一个分页数据集的话,再次翻页,出现无条件的全部结果集,所以此时应该追加上次查询的条件。
EXT Grid还支持分页、排序、分组等多种高级功能,这使得它成为处理大量数据的理想选择。在实际开发中,结合EXT提供的事件监听和自定义插件,你可以实现更加复杂和个性化的数据操作逻辑。 综上所述,EXT Grid数据...
在这个查询模块中,Struts2将接收EXT2发送的查询条件,然后根据这些条件在数据库中执行查询。 为了实现这个模块,开发者可能采用了以下步骤: - **字段配置表**:在后端,创建了一个字段配置表,存储每个可查询表...
强大的Ext单多选下拉列表控件;基于 LovCombo ; * 作者:中国.湖南.长沙.任文敏 * * 功能: * 1. 支持:★ 多选|单选 (isSingle:'N|Y') * 2. 多选支持: 全选/全不选 * 3. ★ 多选且分页支持: 全部清除 * 4...
在"EXT2.0 带无限极树的 增删改差 是用jsp+servlet+ext2.0实现的"这个项目中,我们将探讨如何使用EXT2.0与后端的Java技术,如JSP和Servlet,协同工作来实现数据管理的基本操作:添加(Add)、删除(Delete)、修改...
在这个例子中,我们将探讨如何使用EXT连接SQL Server数据库,实现Editgridpanel的数据展示、分页、查询和删除功能。 首先,EXT中的Editgridpanel是一个可编辑的表格组件,用于显示和编辑数据。它集成了数据绑定和行...
然而,当你提到"ext gride刷新又回到第一页",这通常涉及到Grid组件的刷新行为以及分页设置。 在Ext Grid中,刷新通常意味着重新加载数据源,更新表格显示以反映最新的数据变化。当你点击刷新按钮或者调用`store....