Ext JS 3.2.1 Сетка с использованием Ext.fly для выделения ячейки, после чего исходная линия ячейки и цвет не восстанавливаются?

#extjs #grid

#extjs #сетка

Вопрос:

Я использую приведенный ниже код для выделения ячейки в сетке ExtJS

 Ext.fly(TargetCell, "ID").highlight("CCFF33", {
                                            attr: "background-color",
                                            duration: 5
                                    });
  

Это работает хорошо, за исключением того, что после выделения ячейка не вернется к исходному цвету, и даже линия ячейки исчезла. Как показано на изображениях ниже, обратите внимание, что вторая строка в ожидании изменена на продана, затем строка и цвет фона стали белыми

http://img231.imageshack.us/img231/2601/beforeextfly.jpg

http://img847.imageshack.us/img847/857/afterextfly.jpg

Есть идеи, как это исправить? Спасибо!

Ответ №1:

Вы можете использовать класс css. Быстрым грубым примером может быть…

 myGrid.on('rowclick', function (grid, rowindex) {

    var view = grid.getView();
    if (view.getRow(this.currentIndex)) {
        Ext.fly(view.getRow(this.currentIndex)).removeClass('highlight');
    }

    Ext.fly(view.getRow(rowindex)).addClass('highlight');

    this.currentIndex = rowindex;

}, this);
  

Комментарии:

1. Привет, Dve, как мне получить исходный класс строки, которую я только что выделил? Чтобы я мог восстановить этот класс после выделения.

2. Вместо того, чтобы беспокоиться об этом, почему бы просто не добавить класс, который перезаписывает свойства вашего исходного класса. затем, когда вы удалите это, стиль просто вернется к стандарту.