Как изменить цвет шрифта строки Dojo DataGrid после редактирования ячейки

Я хочу изменить цвет шрифта строки после того, как ячейка в этой строке была отредактирована и установлена ​​​​на определенное значение. myStore — это хранилище dojo.data.ItemFileWriteStore, связанное с dojox.grid.DataGrid dataGrid.

Я написал это:

myStore.onSet = function(item, attribute, oldValue, newValue) { 
    if (item.myField == myValue) {
        var index = dataGrid.selection.selectedIndex;
        dojo.style(dataGrid.getRowNode(index), "color" , "red");
    }
}

но к сожалению это ни на что не влияет...

ОБНОВЛЕНИЕ: я добавил следующее свойство стиля: «backgroundColor»: «красный». Ну, цвет фона строки меняется на красный, но когда мышь отходит от строки, цвет возвращается к стандартному! Возможно, некоторые обработчики событий по умолчанию восстанавливают стили по умолчанию...


person perissf    schedule 29.07.2011    source источник


Ответы (1)


Строка dojo.style работает, если вы вызываете ее саму по себе. Либо ваша функция вообще не вызывается, либо условие if ложно, либо строка не выбрана, и вы получаете недопустимый номер для индекса. (Вы можете поместить туда несколько console.logs для проверки)

person hugomg    schedule 29.07.2011
comment
ммм... индекс регистрируется правильно, а также объект RowNode. Но, вероятно, dojo.style не должен работать таким образом. Что бы вы еще попробовали? - person perissf; 30.07.2011