Ext.define('RestemplateModel', { extend: 'Ext.data.Model', fields:[ 'rtid','rtname','businesstype','scalemin','scalemax','paperstyle','paperdirection','chartcontent' ], idProperty: 'rtid' }); var res_template = new Ext.data.Store({ autoDestroy: true, pageSize: 10, model: 'RestemplateModel', proxy: { type: 'ajax', url: '/res/restemplate/resTemplateToList', reader: { root: 'topics', totalProperty: 'totalCount' }, simpleSortMode: true }, remoteSort: true }); var formdata = {}; Ext.onReady(function () { Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); Ext.tip.QuickTipManager.init(); Ext.Ajax.timeout = 900000; Ext.require([ 'Ext.ux.PagingToolbar' ]); Ext.create('Ext.grid.Panel', { id: 'gridexample', renderTo: 'grid', // height: 380, layout: 'fit', autoScroll: false, store: res_template, stateful: false, stateId: 'ZYMLZiYuan-Grid', viewConfig: { forceFit: true, enableTextSelection: true //列表数据可复制 }, columns: [ { xtype: 'rownumberer', text: "序号", width: '10%', align: 'center' }, {text: "模板名称", dataIndex: 'rtname', width: '30%', flex: 1, sortable: true, align: 'center', filter: { type: 'string' }, renderer: function (value, p, record) { var rtid = record.getData()["rtid"]; var tit = htmlEncodeByRegExp(value); return Ext.String.format( '{2}', rtid, value, tit ); } }, { text: "业务类型", dataIndex: 'businesstype', width: '12%', sortable: false, align: 'center', filter: { type: 'string' } }, { text: "出图最小比例尺", dataIndex: 'scalemin', width: '12%', sortable: false, align: 'center', filter: { type: 'int' } }, { text: "出图最大比例尺", dataIndex: 'scalemax', width: '12%', sortable: false, align: 'center', filter: { type: 'int' } }, { text: "纸张大小", dataIndex: 'paperstyle', width: '12%', sortable: false, align: 'center', filter: { type: 'string' } }, { text: "纸张排版", dataIndex: 'paperdirection', width: '12%', sortable: false, align: 'center', filter: { type: 'string' } } ], bbar: Ext.create('Ext.ux.PagingToolbar', { id: "Page", name: "Page", store: res_template, displayInfo: true, firstText: "首页", prevText: "上一页", nextText: "下一页", lastText: "尾页", refreshText: '刷新', beforePageText: '第', afterPageText: '页,共 {0} 页', displayMsg: '显示 {0} - {1} 条,共 {2} 条', emptyMsg: "没有数据显示", items: [ { xtype: 'label', text: '' } ] }) }); res_template.on('beforeload', function () { GetSearchWhere("SearchForm"); res_template.proxy.extraParams = []; Ext.apply(res_template.proxy.extraParams, formdata); }); res_template.on('load', function (store, records, successful, eOpts) { var totalCount = store.totalCount; if (totalCount == "") totalCount = "0"; }); res_template.load(); //添加resize监听防止切换tab或者收起左栏导致grid不自适应宽度 $(window).resize(function () { Ext.getCmp('gridexample').doLayout();//panel重新布局 }); }); function htmlEncodeByRegExp(str){ var s = ""; if(str.length == 0) return ""; // s = str.replace(/&/g,"&"); s = str.replace(//g,">"); s = s.replace(/ /g," "); s = s.replace(/\'/g,"'"); s = s.replace(/\"/g,"""); return s; } //获取查询条件 function GetSearchWhere(formId) { var form = document.forms[formId]; for (var i = 0; i < form.elements.length; i++) { var strID = form.elements[i].id; var value = form.elements[i].value; if (form.elements[i].type == "checkbox") { if (form.elements[i].checked == true) value = "on"; else value = ""; } if (form.elements[i].type == "radio") { if (form.elements[i].checked == true) { strID = form.elements[i].name; value = form.elements[i].value; } } formdata[strID] = (value == "全部" || value == "None" ? "" : value + ""); } } function Clear() { document.getElementById("SearchForm").reset(); } function Search() { Ext.getCmp('gridexample').dockedItems.items[1].store.currentPage = 1; res_template.load(); }