У меня есть простая сетка без прямого подключения к любой таблице базы данных. Просто дни mounth в сырых и людей в колонках (скажем, 31 x 20). В процедурах инициализации я читаю данные из некоторых таблиц, вычисляю и записываю их в эту сетку. Затем я должен вычислить массу индексов, сделать некоторые суммы с помощью сырых, столбцов и их части. Просто статистика.ExtJS и простая панель сетки
Нет проблем с чтением из ячеек сетки, это очень быстро. У меня проблема с записью данных в ячейки. Например. Процедура заполнения этой сетки:
days = Ext.getStore('StoreDays').getRange();
employees = Ext.getStore('StoreTeam').getRange();
Ext.each(days, function (day) {
Ext.each(persons, function (guy) {
tmp = day.get('from');
day.set('start_' + persons.data.prs_numer, start);
... and 4 additional SET operations to grid cells
});
});
И эта процедура работает более 3 минут !!! Я не знаю, почему и как писать хороший код, чтобы нормально писать эти данные. Будьте так добры и подскажите мне КАК! Кроме того, я не могу обновить, например. каждое сырое сырье после сырых настроек, как я хочу. Вы бы так любезны мне рассказать?
Нет, к сожалению, это не решение моей проблемы. Время все равно. И эта сетка подготовлена с помощью плагина celledit, чтобы пользователь мог исправить некоторые ячейки. Существует также список для событий «beforedit» и «afteredit». Я установил точки останова в этом evets, и я знаю, что эти события не используются, когда программа создает мои две петли. Когда я использовал отладчик, я вижу, что браузер «зависает» в течение этих 3 минут. – Krzys77
Затем я предлагаю вам опубликовать рабочий тестовый пример, иначе я не знаю, что вы делаете. –
Благодарим вас за информацию, я могу опубликовать ее, но это приложение является частью более сложной системы, поэтому будет проблемой запускать его без среды и базы данных. Я могу попытаться подготовить эту часть приложения с проблемной сеткой и позволить ей работать с некоторыми статическими данными. Правильно? – Krzys77