【问题标题】:EXTJS grid renderingEXTJS 网格渲染
【发布时间】:2010-12-15 16:59:26
【问题描述】:

我在渲染我的 EXTJS 网格时遇到了困难,该网格位于 django 应用程序之上。网格仅在某些时候显示。当应该显示网格时,它可以工作。当不应该显示网格时,我从 extjs-core 收到“ct is not defined”错误。我研究了这个错误,它似乎发生在我的<div id="my-grid"> 未定义时。 div 是在 grid.html 中定义的,它只在某些时候加载。

这些是我的文件。

view_main.js - 我在 Ext.onReady 中定义了我的所有对象。

Ext.onReady(function(){
 var grid = new Ext.grid.GridPanel({
  border: false,
  //...
 }
grid.render('my-grid')  // comment this out and "ct is not defined" goes away
// but the grid never renders in grid.html

base.html - 我的模板扩展的基本 django 文件。该文件还加载了我的 view_main.js 文件。

 <!-- Load Script -->
 <script type="text/javascript" src="/site_media/js/view_main.js" ></script>

grid.html - 在 EXTJS TabPanel 中呈现的网格 html 文件。

  <div id="my-grid" style="border: height: 800px;  width: 800px;"></div>

除非显示 grid.html,否则我什至不想尝试渲染我的网格。但是网格不起作用,除非我将 grid.render 放在 view_main.js 中

如果我尝试将渲染脚本放在 grid.html 中,我会得到“网格未定义错误”

<script type="text/javascript" >
 Ext.onReady(function(){
  grid.render('my-grid');
 }
</script>

如何仅在加载 grid.html 时渲染网格?

【问题讨论】:

    标签: django extjs


    【解决方案1】:

    如果您只是想避免该错误,请尝试检查“my-grid”是否存在,

    Ext.onReady(function() {
        if( (Ext.get('my-grid')) !== null)
        {
            grid.render('my-grid');
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2011-11-17
      • 2013-11-25
      • 2011-01-28
      • 2011-11-08
      • 2012-06-12
      • 2011-05-23
      • 2011-05-26
      • 2013-07-31
      • 1970-01-01
      相关资源
      最近更新 更多