Использование Dojo Я установил сетку, которая ссылается на хранилище данных. После загрузки сетки у меня есть функция подключения, которая перемещается по строкам и устанавливает цвет текста строки в зависимости от значения ячейки. Это работает отлично (код скопирован ниже).Обновление Dojo Enhanced Grid Row Style - Post Store Fetch
var gagrid = new dojox.grid.EnhancedGrid({
query: {
Keyword: '*'
},
store: gastore,
structure: galayout,
escapeHTMLInData: false,
plugins: {
nestedSorting: true
}
},
document.createElement('div'));
dojo.connect(gagrid, 'onStyleRow', this, function(row) {
var item = gagrid.getItem(row.index);
if (item) {
var value = gagrid.store.getValue(item, "Performance", null);
if (value == 3) {
row.customStyles += "color: green;";
} else if (value == 2) {
row.customStyles += "color: red;";
}
}
gagrid.focus.styleRow(row);
gagrid.edit.styleRow(row);
});
У меня есть функция после загрузки страницы/сетки (через взаимодействие с пользователем), которая использует функцию выборки магазина. Он пересекает строки моего хранилища сетки и меняет значение ячейки в зависимости от ввода пользователя. Опять же, это отлично работает, значения в сетке обновляются правильно. Код ниже.
gastore.fetch({
query: {Keyword: '*'},
onComplete: function(items, request){
var i;
for (i = 0; i < items.length; i++) {
var item = items[i];
var performance;
if(parseInt(items[i]["Visits"])>=rp)
{
if(parseInt(items[i]["Bounce"])<=rb&&parseInt(items[i]["Time"])>=rmp)
{
performance=3;
}
else
{
performance=2;
}
}
else
{
performance=1;
}
gastore.setValue(item,"Performance",performance);
}
}
});
Однако после того, как значения были обновлены, пользовательские стили не применяются к строкам моментально. Например, цвет текста строки остается зеленым, когда он должен измениться на черный.
После того как сетка была связана с (например, сортировкой столбца), цвета строк обновляются до их правильных цветов.
Есть ли способ вызвать правильные пользовательские стили для строки сетки сразу после того, как функция извлечения магазина была вызвана?
Извинения, если мой вопрос ABIT долго наматываются - просто думал, что я попытаюсь объяснить этот вопрос полностью :)
Просмотреть этот вопрос ...[http://stackoverflow.com/questions/7132559/dojox-datagrid-onstylerow-works-first-time-then-not-again](http://stackoverflow.com/questions/7132559/dojox-datagrid-onstylerow- works-first-time-then-not-again) – Remento