extjs初学程序,this.el.dom不是对象或为空
代码:<html><head><title>girl</title><linkrel="stylesheet"typ...
代码:<html> <head> <title>girl</title> <link rel="stylesheet" type="text/css" href="css/ext-all.css" /> <script type="text/javascript" src="js/ext-base.js"></script> <script type="text/javascript" src="js/ext-all.js"></script> <script type="text/javascript" src="js/examples.js"></script> <script> var cm = new Ext.grid.ColumnModel([ {header:'编号',dataIndex:'id'}, {header:'名称',dataIndex:'name'}, {header:'描述',dataIndex:'descn'} ]); var data = [ ['1','name1','descn1'], ['2','name2','descn2'], ['3','name3','descn3'], ['4','name4','descn4'], ['5','name5','descn5'] ]; var ds = new Ext.data.Store({ proxy: new Ext.data.MemoryProxy(data), reader: new Ext.data.ArrayReader( {},[ {name: 'id', mapping: 0}, {name: 'name', mapping: 1}, {name: 'descn', mapping: 2} ] ) }); ds.load(); var grid = new Ext.grid.GridPanel({el:'grid', ds: ds, cm: cm}); grid.render(); </script> </head> <body> <div id="grid"></div> </body></html>错误信息:网页错误详细信息用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MALN; Media Center PC 6.0; InfoPath.1; Tablet PC 2.0)时间戳: Sat, 19 Jun 2010 09:11:44 UTC消息: 'this.el.dom' 为空或不是对象行: 7字符: 123192代码: 0URI: file:///G:/ext/练习/js/ext-all.js///////////////////////////////////////////////////////////////////////////////////请问是什么原因?网上好多人都出现这个问题
展开
1个回答
展开全部
<html>
<head>
<title>girl</title>
<link rel="stylesheet" type="text/css" href="css/ext-all.css" />
<script type="text/javascript" src="js/ext-base.js"></script>
<script type="text/javascript" src="js/ext-all.js"></script>
<script type="text/javascript" src="js/examples.js"></script>
<script>
var cm = new Ext.grid.ColumnModel([{
header: '编号',
dataIndex: 'id'
},
{
header: '名称',
dataIndex: 'name'
},
{
header: '描述',
dataIndex: 'descn'
}]);
var data = [['1', 'name1', 'descn1'], ['2', 'name2', 'descn2'], ['3', 'name3', 'descn3'], ['4', 'name4', 'descn4'], ['5', 'name5', 'descn5']];
var ds = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({},
[{
name: 'id',
mapping: 0
},
{
name: 'name',
mapping: 1
},
{
name: 'descn',
mapping: 2
}])
});
ds.load();
var grid = new Ext.grid.GridPanel({
ds: ds,
cm: cm
});
</script>
</head>
<body onLoad="grid.render('grid');">
<div id="grid"></div>
</body>
</html>
为什么会出现这个问题,给你分析下:
1,grid的el属性是内置的el对象,是不能修改的。
2,由于脚本的执行是在<body>载入前执行的,也就是说grid的容器div还未创建,所以你建的这个grid就不能渲染到body里面id为grid的容器里面。
3,grid.render 方法要为其填写参数。
<head>
<title>girl</title>
<link rel="stylesheet" type="text/css" href="css/ext-all.css" />
<script type="text/javascript" src="js/ext-base.js"></script>
<script type="text/javascript" src="js/ext-all.js"></script>
<script type="text/javascript" src="js/examples.js"></script>
<script>
var cm = new Ext.grid.ColumnModel([{
header: '编号',
dataIndex: 'id'
},
{
header: '名称',
dataIndex: 'name'
},
{
header: '描述',
dataIndex: 'descn'
}]);
var data = [['1', 'name1', 'descn1'], ['2', 'name2', 'descn2'], ['3', 'name3', 'descn3'], ['4', 'name4', 'descn4'], ['5', 'name5', 'descn5']];
var ds = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({},
[{
name: 'id',
mapping: 0
},
{
name: 'name',
mapping: 1
},
{
name: 'descn',
mapping: 2
}])
});
ds.load();
var grid = new Ext.grid.GridPanel({
ds: ds,
cm: cm
});
</script>
</head>
<body onLoad="grid.render('grid');">
<div id="grid"></div>
</body>
</html>
为什么会出现这个问题,给你分析下:
1,grid的el属性是内置的el对象,是不能修改的。
2,由于脚本的执行是在<body>载入前执行的,也就是说grid的容器div还未创建,所以你建的这个grid就不能渲染到body里面id为grid的容器里面。
3,grid.render 方法要为其填写参数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询