日期:2014-05-16  浏览次数:20583 次

ext2 做gridPanel查询数据时,columnModel中只要增加编号或者选框 gridPanel就不能够加载数据显示在表格里。
我的情况是这样的,这两天在做 员工记录查询, 通过json来传输数据。 用 gridPanel表格来显示。
以下是我多次测试的问题点:
1,gridPanel的 columnModel中没有添加 Ext.grid.CheckBoxSelectionModel即选框的时候,store能够成功加载数据并显示。
2, columnModel 中设有 RowSelectionModel(即编号),CheckBoxSelectionModel(即选框),员工id以及员工姓名的时候,store能成功加载,gridpanel显示出这几列数据;然而我在coulumnModel中加上员工密码列或者其他列之后,store能够成功加载数据,可是gridpanel死活不能显示数据,控制台还抱一个莫名奇妙的错误。

麻烦各位,帮我找找,我是错在什么细节地方。很郁闷,我都花了两天时间了。求各位了!!!跪求!!

以下是代码,注释了Jsonreader和columnModel中workerName员工姓名之后对应的列后,grid能显示出数据。如果不注释,就不能显示,这是什么原因呢? 
var store = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
method : 'post',
url : 'worker_selectAll.action'
}),
reader : new Ext.data.JsonReader({
totalProperty : 'total',
root : 'list',
id : 'workerId',
fields : [{
name : 'workerId',
type : 'int'
}, {
name : 'workerName',
type : 'String'

// name : 'workerLogin',
// type : 'String'
// , {
// name : 'workerPassword',
// type : 'String'
// }
// name : 'brithday',
// type : 'String'
// , {
// name : 'workerEmail',
// type : 'String'
// }, {
// name : 'workerCompensation',
// type : 'String'
// }, {
// name : 'wposition',
// type : 'String'
// }, {
// name : 'wfreetiime',
// type : 'String'
// }, {
// name : 'wlevel',
// type : 'String'
}]
})
});

var rm = new Ext.grid.RowSelectionModel();
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([rm, sm, {
header : '员工Id',
dataIndex : 'workerId'
}, {
header : '姓名',
dataIndex : 'workerName'

// header : '登录名',
// dataindex : 'workerLogin'
// , {
// header : '密码',
// dataindex : 'workerPassword'
// }, 
// header : '生日',
// dataindex : 'brithday'
//  {
// header : '电子邮件',
// dataindex : 'workerEmail'
// }, {
// header : '基本工资',
// dataindex : 'workerCompensation'
// }, {
// header : '职位',
// dataindex : 'wposition'
// }, {
// header : '假期',
// dataindex : 'wfreetiime'
// }, {
// header : '级别',
// dataindex : 'wlevel'

}]);

var grid = new Ext.grid.GridPanel({
width : '100%',
height : 700,
margins : '0 5 5 5',
sm : sm,
cm : cm,
title : '员工列表',
store : store
})
store.load();
store.on('load', function(_store) {
alert("store.getTotalCount()=" + store.getTotalCount());
});