`
zhaolicric
  • 浏览: 146658 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

ext 带条件查询的 分页

阅读更多

好像对于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()); 
	};
});
 
分享到:
评论

相关推荐

    ext分页查询ext分页查询ext分页查询ext分页查询ext分页查询

    在请求参数中,除了查询条件,还需要提供分页信息。成功响应后,数据通常以JSON格式返回,然后解析并加载到数据存储中。 5. **数据解析**:接收到服务器的响应后,需要使用`Ext.util.JSON.decode`将JSON字符串转换...

    修复Ext3.0.0中自定义分页的小bug

    标题中的“修复Ext3.0.0中自定义分页的小bug”指的是在Ext JS框架的3.0.0版本中,用户在实现自定义分页功能时遇到的一个问题。Ext JS是一个流行的JavaScript库,主要用于构建富客户端Web应用程序,它的组件库包含了...

    ext grid带分页(服务器端)

    - 使用JDBC或者ORM框架(如Hibernate)执行SQL查询,带上分页条件。 - 将查询结果转换为JSON格式,可以通过`org.json`库或其他类似的库实现。 - 设置HTTP响应的MIME类型为`application/json`,并将JSON字符串写入...

    Ext3.2的TreePanel和GridPanel的分页与Hibernate的分页功能的影射

    2、在工程中找到“数据库脚本.sql”文档,然后在查询分析器中生成数据与测试数据 3、把工程布置到Tomcat服务器中去 4、在工程中找到“main.js”文档,该文档中是控制应用显示GridPanel和TreePanel示例的开关 5、在IE...

    extjs 分页是碰到的问题,点击下一页事,查询条件无法传递

    ### Extjs分页遇到的问题:点击下一页时查询条件无法传递 在开发基于Extjs的应用程序时,分页是一项常用且重要...通过以上步骤,可以有效地解决Extjs分页时查询条件无法传递的问题,确保用户能够获得准确的数据结果。

    ext3+struts2+hibernate+spring的CRUD+分页

    "ext3+struts2+hibernate+spring的CRUD+分页"是一个典型的Java Web开发组合,用于实现全面的数据管理功能。这个组合充分利用了各个框架的优势,提供了一个强大的后端数据处理和前端展示的解决方案。 首先,EXT3是一...

    ExtJS笔记---Grid实现后台分页

    在IT行业中,ExtJS是一个广泛使用的JavaScript库,用于构建富客户端的Web应用程序。它提供了丰富的组件库,包括数据...在阅读这篇博客时,可以参照给出的"extgrid"文件,查看具体的代码实现,以便更好地理解和学习。

    Ext_comBox模糊查询

    在这个例子中,`GetPaged`方法是用于执行分页查询的,它会根据传入的条件(如`strwhere`、`sort`和`dir`)返回匹配的数据,并计算总数。最后,处理程序将结果以JSON格式返回给前端,EXT JS的Combox将解析这个JSON并...

    extjs使用pagingtoolbar时,点击下一页,出现查询结果和查询条件不的解决办法

    在EXTJS中,PagingToolbar 是一个非常实用的组件,用于在大数据集上实现分页显示,提升用户体验。然而,在实际使用过程中,我们可能会遇到一些问题,比如在点击...这对于处理带有复杂查询条件的大数据集是非常重要的。

    Ext解决题目(内存分页+导出Excel)

    1. **收集数据**:获取表格当前显示的数据,这可能涉及到从Store中获取符合分页条件的数据。 2. **转换数据**:将这些数据转换为Excel支持的格式,如CSV或二进制格式(BIFF8)。 3. **创建下载链接**:创建一个指向...

    Extjs2分页树 带查询功能

    在"Extjs2分页树 带查询功能"这个主题中,我们将深入探讨如何在ExtJS 2.x版本中实现这样一个功能。 首先,我们需要理解树形结构(Tree)在ExtJS中的工作原理。树形组件(Ext.tree.TreePanel)用于展示层次化的数据...

    extjs2.0 画的一个带查询条件和查询结果的页面

    在"extjs2.0 画的一个带查询条件和查询结果的页面"这个主题中,我们主要探讨如何使用ExtJS 2.0版本来设计一个具有搜索功能的用户界面。这个界面包括查询条件输入区域和展示查询结果的区域。 首先,我们需要了解...

    关于EXT分页,分组,排序

    根据提供的文件信息,我们可以深入探讨...如果是在服务器端排序,那么在新的排序条件下重新加载数据即可。 通过以上步骤,我们可以在EXTJS中轻松实现分页、分组和排序功能,极大地提升了数据展示的效果和用户体验。

    ext4查询之后翻页丢失表单参数解决

    ext4查询表格grid ,结果集返回是一个分页数据集的话,再次翻页,出现无条件的全部结果集,所以此时应该追加上次查询的条件。

    ext grid数据绑定

    EXT Grid还支持分页、排序、分组等多种高级功能,这使得它成为处理大量数据的理想选择。在实际开发中,结合EXT提供的事件监听和自定义插件,你可以实现更加复杂和个性化的数据操作逻辑。 综上所述,EXT Grid数据...

    利用ext2+strut2构造简单的查询模块

    在这个查询模块中,Struts2将接收EXT2发送的查询条件,然后根据这些条件在数据库中执行查询。 为了实现这个模块,开发者可能采用了以下步骤: - **字段配置表**:在后端,创建了一个字段配置表,存储每个可查询表...

    伊兰COMBO (强大的Ext单多选下拉列表控件;带详细示例)

    强大的Ext单多选下拉列表控件;基于 LovCombo ; * 作者:中国.湖南.长沙.任文敏 * * 功能: * 1. 支持:★ 多选|单选 (isSingle:'N|Y') * 2. 多选支持: 全选/全不选 * 3. ★ 多选且分页支持: 全部清除 * 4...

    EXT2.0 带无限极树的 增删改差 是用jsp+servlet+ext2.0实现的

    在"EXT2.0 带无限极树的 增删改差 是用jsp+servlet+ext2.0实现的"这个项目中,我们将探讨如何使用EXT2.0与后端的Java技术,如JSP和Servlet,协同工作来实现数据管理的基本操作:添加(Add)、删除(Delete)、修改...

    Ext 连接数据库的相关操作

    在这个例子中,我们将探讨如何使用EXT连接SQL Server数据库,实现Editgridpanel的数据展示、分页、查询和删除功能。 首先,EXT中的Editgridpanel是一个可编辑的表格组件,用于显示和编辑数据。它集成了数据绑定和行...

    ext gride刷新

    然而,当你提到"ext gride刷新又回到第一页",这通常涉及到Grid组件的刷新行为以及分页设置。 在Ext Grid中,刷新通常意味着重新加载数据源,更新表格显示以反映最新的数据变化。当你点击刷新按钮或者调用`store....

Global site tag (gtag.js) - Google Analytics