Ext.onReady(function() {var cm = newExt.grid.ColumnModel([ {

header :'收入类型',

dataIndex :'income_code'},//sortable为true设置按列排序

header :'时间',

dataIndex :'income_date',

sortable :true,

type :'date',

width :200,

renderer : Ext.util.Format.dateRenderer('Y年m月d日')

header :'人员',

dataIndex :'income_person'},//定义表格中显示时间格式

id :'income_money',

header :'金额',

dataIndex :'income_money',

sortable :true},

id :'income_content',

header :'备注',

dataIndex :'income_content',

width :200} ]

);var store = newExt.data.Store({

proxy :newExt.data.HttpProxy({

url :'SelectIncomeForJson',

}),/*baseParams: {

start:0,

limit:10,

starttime: '',

endtime: ''

},*///baseParams 这个配置不是必须的,只要在重新加载或加载前设置即可

reader : newExt.data.JsonReader({

totalProperty :'totalProperty',

root :'incomeList'}, [ {

name :'income_code'}, {

name :'income_date'}, {

name :'income_person'}, {

name :'income_money'}, {

name :'income_content'} ])/*,//这个事件监听也没有必要,因为在点击查询按钮时手动设置了store的参数

listener:function(){

this.store.on('beforeload', function(store,options)

var new_params = {

start : 0,

limit : 20,

starttime : starttime,

endtime : endtime

Ext.apply(options.params, new_params);

}*/});var form = null;var grid=null;

grid= newExt.grid.GridPanel({

title :'ArrayGrid',

store : store,

cm : cm,

renderTo :'grid',

stripeRows :true,//设置斑马线表格

frame : true,//设置表格为panel中的一个frame

autoHeight : true,

width :700,

tbar : [ {

text :'回到顶部',

handler :function() {

grid.getView().scrollToTop();

}, {} ],

bbar : [newExt.PagingToolbar({

pageSize :10,

store : store,

displayInfo :true,

displayMsg :'显示第{0}条到第{1}条',

emptyMsg :"没有记录"}) ],

item : [ form= newExt.form.FormPanel({

labelAlign :'left',

labelWidth :50,

method :'post',//url : 'SelectIncomeForJson?start=0&limit=10',

width : 700,

renderTo :'form',

frame :true,

items : [ {//layout : 'column',

items : [ {

columnWidth :1,/** 此处两个属性构造一个field集合,使用边框围起来,若不使用则是一个普通面板标题,应用中很常用*/xtype :'fieldset',

checkboxToggle :true,

title :'筛选条件',

autoHeight :true,

defaults : {

width :600},//defaultType : 'textfield',//该type为全局,而单个item中的xtype便是局部变量

items : [ {

xtype :'datefield',

id:'starttime',

fieldLabel :'起始:',

name :'starttime',

width :150,

emptyText :'请选择',//若希望不选择时间时单击按钮不会产生空列表,则需将该配置去掉,或者在action中添加判断

format : ('Y-m-d')

xtype :'datefield',

id:'endtime',

fieldLabel :'截止:',

name :'endtime',

width :150,

emptyText :'请选择',

format : ('Y-m-d')

xtype :'button',

width :150,

text :'查询',

handler :function() {//form.getForm().submit();//这个提交操作没有起作用,但是只需要下边的组合就可以完成刷新数据的功能

//alert("变量starttime"+starttimeparam);

grid.getStore().baseParams.starttime=starttime.value;//grid.getStore().setBaseParam('starttime',starttime.value);//starttime为控件的id值,可以尝试注释id后,将无法获得

grid.getStore().setBaseParam('endtime',endtime.value);/** 以上设置暂且没有找到组合设置的方法,只能单个了

/*此处为组合配置,但是应该需要在创建store时声明,没有看到想要的结果

* grid.getStore().baseParams = {

start:0,

limit:10,

startime:starttime.value,

endtime:endtime.value//name为之前定义的变量

};*/grid.getStore().reload();//此处可以写成reload,也可写成load()

/*如果写成reload,那么则会重新提交原来store中的url请求,当然load也是,不管你form中有没有定义新的url,而使用submit则会调用配置的url

* 对于reload来说,仍然保留原来Param中配置的参数,但是使用load的话,将不会保留,

* (比如我在创建时都不声明,但是在第一次加载时配置params,那么在此处使用reload则会保留params,但在使用load时,将会清楚该params,)

* 而且在store的创建函数中定义baseParam与否并不影响重载时自己重新设置新的参数,也就是说不用提前声明,直接设定即可,

* 无论使用哪种方法只要'有'即可

//alert("starttime"+starttime.value);

store.load({

params : {

start :0,

limit :10/*,//该处命令是在初次加载页面时加载的参数和reload时的参数,因为没有查询参数,故将其注销,实现无条件查询,

//添加以后也不能正常显示无条件结果,因为此处并不能够读取到starttime,

starttime:starttime.value,

endtime:endtime.value*/}

Ext.onReady(function() {var cm = newExt.grid.ColumnModel([ {header :'收入类型',dataIndex :'income_code'},//sortable为true设置按列排序{header :'时间',dataIndex :'income_date',sortable :true,type :'date',width :200,...
可以使用add(Ext.data.Record[] records)或者add(Ext.data.Record record)向 store 末尾添加一个或多个record。如: 代码如下:  var newRecord=new PersonRecord({name:”Tom”,age:22}); store .add(newRecord);   add函数会将新的 数据 添加到 store 的末尾,这对其原有的排序方式可能造成破坏,如果希望保持有序,应使用addSorted,调用方法与add相同。   可以使用insert方法将记录插入到指定的位置,如: 代码如下: var newRecord=n
学习Ext已经有些许时间了,发现实际运用 过程 Ext Grid 系列还是最为常用的,本来想自己写些话语来总结的,无意间看到有位仁兄早就总结了,故冒犯贴在此处,以便以后翻阅,还望见谅 Ext - Grid Grid 是Ext框架 一个重要的组成部分。一般建立 Grid 主要 实现 数据 的增删改查。           建立一个 Grid Grid 一般有三个主要的内容,ds,cm, Grid Pane...
[code="java"]/*请选择行*/ function pleaseclickRow( grid ){ var selectedRows = grid .getSelectionModel().getSelections(); if(selectedRows.length==0){ Ext.Msg.alert("系统提示","请选择行!"); return false;...