Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t在extjs中向div添加网格_Javascript_Extjs - Fatal编程技术网

Javascript Can';t在extjs中向div添加网格

Javascript Can';t在extjs中向div添加网格,javascript,extjs,Javascript,Extjs,如果我通过“renderTo”参数(请参见下面的“b”)将按钮添加到面板中,它将非常有效: //create div in javascript var extJSTest = document.createElement('div'); //append to main mainPanel.appendChild(extJSTest); //'get' panel through EXT (just adds a wrapper?) var myDiv = Ext.get(extJSTes

如果我通过“renderTo”参数(请参见下面的“b”)将按钮添加到面板中,它将非常有效:

//create div in javascript
var extJSTest = document.createElement('div');

//append to main
mainPanel.appendChild(extJSTest);

//'get' panel through EXT (just adds a wrapper?)
var myDiv = Ext.get(extJSTest);


var b = Ext.create('Ext.Button', {
    text: 'Click me!!!!',
    renderTo: myDiv,
    handler: function() {
        alert('You clicked the button!')
    }
});
但是,如果我将“b”替换为以下代码(即,我想将按钮替换为网格,与SimpleStore和一些数据连接起来)

我得到这个错误:

未捕获的TypeError:无法读取null的属性“dom”

可在ext all debug的第28211行找到。代码如下所示:

if (!me.container) {

    me.container = Ext.get(me.el.dom.parentNode);
}
<script>

    Ext.require([
        'Ext.data.*',
        'Ext.grid.*',
        'Ext.tree.*'
    ]);


    Ext.onReady (function () {

          //application is built in here
    });


 </script>
有人知道我想添加网格时的问题是什么吗

另外,我的index.html如下所示:

if (!me.container) {

    me.container = Ext.get(me.el.dom.parentNode);
}
<script>

    Ext.require([
        'Ext.data.*',
        'Ext.grid.*',
        'Ext.tree.*'
    ]);


    Ext.onReady (function () {

          //application is built in here
    });


 </script>

外部要求([
“Ext.data.*”,
“Ext.grid.*”,
“Ext.tree.*”
]);
Ext.onReady(函数(){
//应用程序是在这里构建的
});
这是一把小提琴:


如果渲染到Ext.getBody(),效果很好,但如果渲染到自己的myDiv对象,它似乎有问题。

我的问题解决方案

我把renderToadd搞混了

我应该创建一个面板,并使用renderTo将其放置在DOM的某个位置,然后我可以创建一个网格,然后面板可以“添加”它

Ext.onReady (function () {


    var myDiv = Ext.create('Ext.Panel',{
        renderTo:Ext.getBody(),
    })


    var myData = [
    ['Apple',29.89],
    ['Ext',83.81]
    ];

    var ds = new Ext.data.SimpleStore({
        fields: [
            {name: 'company'},
            {name: 'price'}
        ]
    });


    ds.loadData(myData);

    var grid = new Ext.grid.GridPanel({
        store: ds,
        columns: [
            {header: "Company", width: 120, dataIndex: 'company'},
            {header: "Price", width: 90, dataIndex: 'price'}
        ],

        height: 180,
        width: 900,
        title: 'List of Packages'
    });

    myDiv.add(grid);


    //document.body.appendChild(myDiv);



});

您的代码是否包装在
Ext.onReady
Ext.application
中?是的…………您发布的代码似乎没有问题,问题一定在其他地方。外文版?其他控制台错误、警告?网格将自身呈现为不存在问题的现有div.ExtJS 4.2。没有其他错误我想我需要一个叫做ext-base.js的东西