已经关注extjs有一段时间了,今天把gridpanel的学习记录一下,供以后参考。
首先有几个概念:fields,store,CheckboxSelectionModel,columnModel,RowSelectionModel
1、首先你需要数据源
数据的生成这个可以后台生成json格式的数据,然后通过proxy填充到ext.data.store,所以概念中的store就是作为grid的数据源的。fields应该是对应的列名。load就是获取到的数据按照开始行数,每页显示多少行加载到store中了。
2、CheckboxSelectionModel就是在前面显示复选框,可以设置选中的是哪一行,columnModel设置每列的属性
3、现在就可以new我们的grid了
首先有几个概念:fields,store,CheckboxSelectionModel,columnModel,RowSelectionModel
1、首先你需要数据源
数据的生成这个可以后台生成json格式的数据,然后通过proxy填充到ext.data.store,所以概念中的store就是作为grid的数据源的。fields应该是对应的列名。load就是获取到的数据按照开始行数,每页显示多少行加载到store中了。
var myfields = ["id","name","pwd"];
var mystore = new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:"你的数据生成的地址",method:"POST"),
reader:new Ext.data.JsonReader({
fields:myfields,
root:"data",
id:"id",
totalProperty:"totalCount"
})
);
mystore.load({params:{start:0,limit:pageSize});
2、CheckboxSelectionModel就是在前面显示复选框,可以设置选中的是哪一行,columnModel设置每列的属性
var usersm = new Ext.grid.CheckboxSelectionModel({
dataIndex: "id"
});
var usercm = new Ext.grid.ColumnModel([
usersm, { header: "工号",
dataIndex: "id",
tooltip: "工号",
sortable: true
}, { header: "姓名",
dataIndex: "name",
tooltip: "姓名",
sortable: true
}])
3、现在就可以new我们的grid了
var userGrid = new Ext.grid.GridPanel({
id: "usergrid",
store: UserInfoStore,
sm: usersm,
cm: usercm,
autoHeight: true,
autoWidth: true,
loadMask: {msg:'正在加载数据,请稍侯……'},
autoScorll: true,
viewConfig: {
columnsText: "显示/影藏列",
sortAscText: "正序排列",
sortDescText: "倒序排列",
forceFit: true
},
tbar: [
{
text: "新增",
tooltip: "新增员工信息",
icolCls: "addicon"
//handler:AddUserFn
}, "", "|", "", {
text: "编辑",
tooltip: "编辑员工信息",
icolCls: "editicon",
handler:EditUserFn
}, "", "|", "", {
text: "删除",
tooltip: "删除员工信息",
icolCls: "deleteicon"
//handler:DeleteUserFn
}, "|", new Ext.Toolbar.Fill()
],
listeners: {
"contextmenu": function(e) {
e.stopEvent();
},
"rowcontextmenu": function(grid, rowIndex, e) {
e.stopEvent();
}
},
bbar: [
new Ext.PagingToolbar({
store: UserInfoStore,
pageSize: pageSize,
emptyMsg: "无信息显示",
prevText: "上一页",
nextText: "下一页",
refreshText: "刷新",
lastText: "最后页",
firstText: "第一页",
beforePageText: "当前页",
afterPageText: "共{0}页"
}), new Ext.Toolbar.Fill()
]
});