Ext中的表格功能非常强大,包括排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。表格由类Ext.grid.GridPanel定义,继承自Ext.Panel,其xtype为grid。在EXT中,表格控件必须包含列定义信息,并指定表格的数据存储器。表格数据最起码有列、数据、转换原始数据这3项。列信息由数组columns定义,表格的数据存储器由Ext.data.Store来定义。store负责把各种各样(如二维数组、JSON对象数组、XML文本等)的原始数据转换成Ext.data.Record类型的对象。通过Ext.data.ArrayStore我们可以把任何格式的数据转化成表格可以使用的形式,这样就不需要为每种数据格式写一个对应的实现了。
制作一个简单的表格及属性说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
<script type=
"text/javascript"
>
//表格数据最起码有列、数据、转换原始数据这3项
Ext.onReady(
function
(){
//定义列
var
columns = [
{header:
'编号'
,dataIndex:
'id'
},
//sortable:true 可设置是否为该列进行排序
{header:
'名称'
,dataIndex:
'name'
},
{header:
'描述'
,dataIndex:
'descn'
}
];
//定义数据
var
data =[
[
'1'
,
'张三'
,
'描述01'
],
[
'2'
,
'李四'
,
'描述02'
],
[
'3'
,
'王五'
,
'描述03'
],
[
'4'
,
'束洋洋'
,
'思考者日记网'
],
[
'5'
,
'高飞'
,
'描述05'
]
];
//转换原始数据为EXT可以显示的数据
var
store =
new
Ext.data.ArrayStore({
data:data,
fields:[
{name:
'id'
},
//mapping:0 这样的可以指定列显示的位置,0代表第1列,可以随意设置列显示的位置
{name:
'name'
},
{name:
'descn'
}
]
});
//加载数据
store.load();
//创建表格
var
grid =
new
Ext.grid.GridPanel({
renderTo:
'grid'
,
//渲染位置
store:store,
//转换后的数据
columns:columns,
//显示列
stripeRows:
true
,
//斑马线效果
//enableColumnMove: false, //禁止拖放列
//enableColumnResize: false, //禁止改变列宽度
loadMask:
true
,
//显示遮罩和提示功能,即加载Loading……
forceFit:
true
//自动填满表格
});
});
</script>
|
另外,有什么想说的,欢迎大家在下面留言,大家一起讨论进步!
本文转自shyy8712872 51CTO博客,原文链接:http://blog.51cto.com/shuyangyang/1330020,如需转载请自行联系原作者