Javascript.RU

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

Ext.grid.Panel - получить количество записай (строк) ???
Добрый День !!!
Есть код:
function Fun(_title, _idClass) {
                var store = Ext.create('Ext.data.JsonStore', {
                    fields: [
                        { name: "id" },
                        { name: "name" }
                    ],
                    //pageSize: 20,
                    proxy: {
                        type: 'ajax',           // тип прокси = Ajax
                        url: "MyTest01.ashx?txt=" + textfieldSearch.value + "&idClass=" + _idClass,
                        reader: {
                            type: "json",
                            root: "documents"
                        }
                    }
                });
                store.load();

                var grid = Ext.create("Ext.grid.Panel", {
                    store: store,
                    title: _title,
                    closable: true,
                    columns: [
                        { text: "№", dataIndex: "id", width: 100, hidden: true },
                        { text: "Наименование", dataIndex: "name", sortable: true, resizable: true, flex: 1, width: 100 }
                    ],
                    listeners: { //Дабл Клик
                        itemdblclick: function (dv, record, item, index, e) {
                            Ext.Msg.alert(record.get('id'), record.get('temaA'));
                        }
                    }
                });

                //if(grid.RowsCount>0) - ????????????
                {
                     centralTabPanel.add(grid);
                     centralTabPanel.setActiveTab(grid);
                }
            };


Создаётся Грид и добавляется в TabPanel (Ext.tab.Panel).
Но, Грид надо добавить в TabPanel, только при условии, если к-во строк >0.
Вопросик: как получить количество строк Грида (grid) ???

С наступающим всех !!!
Ответить с цитированием
  #2 (permalink)  
Старый 14.04.2012, 14:13
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от potkin
как получить количество строк Грида (grid) ???
узнать количество записей в хранилище getCount
Ответить с цитированием
  #3 (permalink)  
Старый 14.04.2012, 14:45
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

Уже пробовал:
var RecordCount = store.getCount();
if (RecordCount > 0) {
   ...
}

RecordCount всегда равен "0", даже если данные есть.
Может я что-то не так делаю ???
Ответить с цитированием
  #4 (permalink)  
Старый 14.04.2012, 15:04
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от potkin
RecordCount всегда равен "0", даже если данные есть.
судя по всему вы проверяете наличие данных прежде чем они успевают попасть в хранилище...
Ответить с цитированием
  #5 (permalink)  
Старый 14.04.2012, 15:09
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

nekto_O,
Да, данные загружаются с задержкой, как будь-то бы я использовал отдельный поток в ВинФормах.
Сначала появился Грид, а через 0,5-1 секунды данные в нём ...

Может Вы что-то подскажите ... ???
Ответить с цитированием
  #6 (permalink)  
Старый 14.04.2012, 15:16
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

может это натолкнет вас на правельный путь...
...
store.on('load', function() {
    if(this.getCount() > 0) {
         // ...
    }
});
store.load();
....
Ответить с цитированием
  #7 (permalink)  
Старый 14.04.2012, 17:19
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

nekto_O,
Спасибо, всё заработало +1

Так сделал:
store2.on('load', function () {
                    if (this.getCount() > 0) {
                        centralTabPanel.add(grid);
                        centralTabPanel.setActiveTab(grid);
                    }
                    else {
                        Ext.Msg.alert("The result of the sample", "We apologize, but nothing has been found!");
                    }
                });
                store2.load();
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как посчитать количество строк niZE Общие вопросы Javascript 19 20.12.2011 11:25
Получить количество дней при вычитании дат Spinne Events/DOM/Window 18 28.10.2010 12:00
получить количество элементов в div woo Общие вопросы Javascript 4 06.06.2010 21:41
получить количество элементов... woo jQuery 1 06.06.2010 17:31