Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.02.2012, 05:13
Новичок на форуме
Отправить личное сообщение для Alexsey42 Посмотреть профиль Найти все сообщения от Alexsey42
 
Регистрация: 09.02.2012
Сообщений: 4

ExtJS4 Grid в IE 6,7 и 8
Добрый день
изучаю extjs 4. Вылезла такая проблема не показывается грид в IE 6 7 и 8.

Код:
Сведения об ошибке на веб-странице
Сообщение: 'locked' -  есть null или не является объектом
Строка: 14426
Символ: 13
Код: 0
URI-код: http://localhost/ext/ext-all-debug.js
В девятке хроме и лисе без проблем и ошибок в консоли.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <link rel="stylesheet" type="text/css" href="../ext/resources/css/ext-all.css"/>
		
		<link rel="stylesheet" type="text/css" href="../css/extjsreplace.css"/>
        <script type="text/javascript" src="../ext/ext-all-debug.js"></script>
        <script type="text/javascript" src="../ext/locale/ext-lang-ru.js"></script>
        <script type="text/javascript">


Ext.onReady(function() {
  

    Ext.define('teploData',{
        extend: 'Ext.data.Model',
        fields: ['Object', 'Ppr_vz', 'Pob_vz', 'Ppr_nz', 'Pob_nz', 'Ppr','Pob', 'Gpr', 'Gob', 'Tpr', 'Tob']
    });

var store = Ext.create('Ext.data.Store', {
        model: 'teploData',
        proxy: {
            type: 'ajax',
            url: 'data.xml',
            reader: {
                type: 'xml',
                record: 'table',
             }
        }
    });

	store.load();

	
	var grid = Ext.create('Ext.grid.Panel', {
	    
        store: store,
		columnLines: true,
         columns: [
		 {header: "Обьект", width:160, align: "left",  dataIndex: 'Object' }
		 ,{
		  text: 'верх.зона',
		 columns:[
		 {header: "Рпр", width:60, align: "center",  dataIndex: 'Ppr_vz'},
		 {header: "Робр", width:60, align: "center",  dataIndex: 'Pob_vz'} ]
		 },
		 {
		  text: 'нижн.зона',
		 columns:[
		 {header: "Рпр", width:85, align: "center",  dataIndex: 'Ppr_nz'},
		 {header: "Робр", width:85, align: "center",  dataIndex: 'Pob_nz'} ]
		 },
		 {header: "Рпр", width:85, align: "center",  dataIndex: 'Ppr' },
		 {header: "Робр", width:85, align: "center",  dataIndex: 'Pob' },
		 {header: "Gпр", width:85, align: "center",  dataIndex: 'Gpr' },
		 {header: "Gобр", width:85, align: "center",  dataIndex: 'Gob' },
		 {header: "Тпр", width:85, align: "center",  dataIndex: 'Tpr' },
		 {header: "Тобр", width:85, align: "center",  dataIndex: 'Tob' },
         ],
        width:980,
        height:810,
		title: 'теплосеть',
        renderTo: 'grid',
		viewConfig: {
            stripeRows: true
        }
    });    

});

    </script>
    </head>
    <body>
	<div id ="grid"></div>
    </body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2012, 05:40
Новичок на форуме
Отправить личное сообщение для Alexsey42 Посмотреть профиль Найти все сообщения от Alexsey42
 
Регистрация: 09.02.2012
Сообщений: 4

Разобрался
проблема была в лишних запятых
помогла статья
http://goloburdin.blogspot.com/2011/...-explorer.html
Ответить с цитированием
  #3 (permalink)  
Старый 09.02.2012, 07:45
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от Alexsey42
...
28 record: 'table',
...
59 {header: "Тобр", width:85, align: "center", dataIndex: 'Tob' },
да, ослы не прощают запятых после последнего свойства/метода объекта или элемента массива.

Последний раз редактировалось nekto_O, 09.02.2012 в 07:52.
Ответить с цитированием
  #4 (permalink)  
Старый 09.02.2012, 09:31
Новичок на форуме
Отправить личное сообщение для Alexsey42 Посмотреть профиль Найти все сообщения от Alexsey42
 
Регистрация: 09.02.2012
Сообщений: 4

Cпрошу еще
как сделать refresh данных через определенный промежуток времени
пробовал так
setTimeout (function (){store.load();},100);
Ответить с цитированием
  #5 (permalink)  
Старый 09.02.2012, 09:57
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от Alexsey42
пробовал так
setTimeout (function (){store.load();},100);
ну вообще-то должно работать если store определено и доступно в этом контексте.
Можно в более краткой форме:
setTimeout(store.load, 100);
Ответить с цитированием
  #6 (permalink)  
Старый 13.02.2012, 05:52
Новичок на форуме
Отправить личное сообщение для Alexsey42 Посмотреть профиль Найти все сообщения от Alexsey42
 
Регистрация: 09.02.2012
Сообщений: 4

При обновлении данных хотелось бы выводить дату из таблицы в Grid Title
Cделал так
function dataSyncJson(){
    
 var dataSync = new Object();
 var xmlhttp = getXmlHttp()
 
xmlhttp.open('GET', 'json.php', true);
xmlhttp.onreadystatechange = function() {
  if (xmlhttp.readyState == 4) {
     if(xmlhttp.status == 200) {
       dataSync = JSON.parse(xmlhttp.responseText);
      var dates = dataSync.date;
       return dates;
         }
  }
};
xmlhttp.send(null);
}


var task = 
{
   run : function() 
   {
    grid.setTitle(dataSyncJson());
      store.load();
      
   },
  interval: 60000
}

Ext.TaskManager.start(task);


Заголовок вообще не показывается, в консоли ошибок нет.

Последний раз редактировалось Alexsey42, 13.02.2012 в 05:54.
Ответить с цитированием
  #7 (permalink)  
Старый 13.02.2012, 07:49
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от Alexsey42
Заголовок вообще не показывается, в консоли ошибок нет.
дело в том что сама функция dataSyncJson отрабатывает раньше чем приходит ответ с сервера, поэтому заголовок и не должен проставляться.
Если вы используете ExtJS, то вот это var xmlhttp = getXmlHttp() лишнее.
К примеру можно так:
Ext.Ajax.request({
    url: 'json.php',
    success: function(response){
        var dataSync = Ext.decode(response.responseText);
        ...
        grid.setTitle(dataSync.date);
        store.load();
    }
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать реконфигурацию фильтра динамического Grid? Сергей З ExtJS 0 11.01.2012 15:16
Grid RowExpander Black_Prince ExtJS 0 14.07.2011 13:41
Использование combobox поля в grid dionic ExtJS 0 26.05.2011 14:12
Можно ли передать переменую grid из одной функции в другую alexrzl ExtJS 1 16.11.2010 18:33
Выделит row в grid mycoding ExtJS 1 29.07.2010 15:28