表格的列信息由类Ext.grid.ColumnModel定义,数据存储器由Ext.data.Store定义。
表格包含的列由columns配置属性来描述,简称cm。columns是一个数组,每一行数据元素描述表格的一列信息。
数据存储对象store负责把各种各样的原始数据(如二维数组、JSON对象数组、XML文本等)转换成Ext.data.Record类型的对象。
store对应两个部分:proxy和reader。proxy是指获取数据的方式,reader是指如何解析这一堆数据。
Ext.data.MemoryProxy是专门用来解析Javascript变量的。Ext.data.ArrayReader专门用来解析数组,并且通知按照定义的规范进行解析。
stripeRows设置true时,会有斑马线效果。
loadMask设置true时,在执行load()方法时会有提示功能。
width用来设置列的宽度。如果让每列自动填满Grid,只需要viewConfig中forceFit为true即可。使用forceFit后,Grid会根据在cm里设置的width按比列分配。
autoExpandColumn可以让指定列的宽度自动伸展,从而填充整个表格。
sortable属性设置列是否可以排序。
direction代表排序方式,ASC代表升序,DESC代表降序。
type:'date'表示列的类型为日期类型。
dateFormat:'Y-m-d H:i:s'表示日期内容格式。
renderer属性设置:Ext.util.Format.dateRenderer('Y年m月d日')。
显示红色的字:return "<span style='color:red;font-weight:bold;'>红色</span>";
显示图片:return "<img src='user_male.png'/>";
设置行、列颜色:grid.getView().getRow(r).style.backgroundColor = 'red';
显示行号:在ColumnModel定义中添加new Ext.grid.RowNumberer()项。
删除第二行:store.remove(store.getAt(1));
刷新Grid:grid.view.refresh();
设置复选框:在cm和grid定义中添加sm(new Ext.grid.CheckboxSelectionModel())。
只允许用户通过复选框选中操作:sm定义中传入参数{handlerMouseDown: Ext.emptyFn}。
只允许单行选择:sm(new Ext.grid.RowSelectionModel({singleSelect:true}))。
viewConfig中的参数会在GirdView创建时作为初始化参数传递给GridView。