У меня возникли трудности с рендерингом моей сетки EXTJS, которая едет поверх приложения django. Сетка отображается только некоторое время. Когда сетка должна отображаться, она работает. Когда сетка не должна отображаться, я получаю ошибку «ct не определена» от extjs-core. Я исследовал эту ошибку, и, похоже, это происходит, когда мой <div id="my-grid">
не определен. Div определяется внутри grid.html, который загружается только некоторое время.Экран сетки EXTJS
Это мои файлы.
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 - HTML-файл сетки, которая визуализируется внутри ExtJS TabPanel.
<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?