Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2009, 16:39
kez kez вне форума
Аспирант
Отправить личное сообщение для kez Посмотреть профиль Найти все сообщения от kez
 
Регистрация: 12.05.2009
Сообщений: 73

GridPanel и фокус
Столкнулся с такой ситуацией: хочу программно выделить последнюю строку таблицы находясь на первой. Попробовал в своем коде - выделяется максимум предпоследняя строка. решил попробовать модифицировать один из примеров грида, что шли с библиотекой - такой же результат - результат тот же. подскажите пожалуйста в чем может быть дело?

Код модифицированного примера.
Код:
Ext.onReady(function(){
    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

    var myData = [
        ['3m Co',71.72,0.02,0.03,'9/1 12:00am'],
        ['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],
        ['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'],
        ['American Express Company',52.55,0.01,0.02,'9/1 12:00am'],
        ['American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am'],
        ['AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am'],
        ['Boeing Co.',75.43,0.53,0.71,'9/1 12:00am'],
        ['Caterpillar Inc.',67.27,0.92,1.39,'9/1 12:00am'],
        ['Citigroup, Inc.',49.37,0.02,0.04,'9/1 12:00am'],
        ['E.I. du Pont de Nemours and Company',40.48,0.51,1.28,'9/1 12:00am'],
        ['Exxon Mobil Corp',68.1,-0.43,-0.64,'9/1 12:00am'],
        ['Exxon Mobil Corp',68.1,-0.43,-0.64,'9/1 12:00am'],
        ['Exxon Mobil Corp',68.1,-0.43,-0.64,'9/1 12:00am'],
        ['General Electric Company',34.14,-0.08,-0.23,'9/1 12:00am'],
        ['General Electric Company',34.14,-0.08,-0.23,'9/1 12:00am'],
        ['General Motors Corporation',30.27,1.09,3.74,'9/1 12:00am'],
        ['Verizon Communications',35.57,0.39,1.11,'9/1 12:00am'],
        ['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am']
    ];

    // example of custom renderer function
    function change(val){
        if(val > 0){
            return '<span style="color:green;">' + val + '</span>';
        }else if(val < 0){
            return '<span style="color:red;">' + val + '</span>';
        }
        return val;
    }

    // example of custom renderer function
    function pctChange(val){
        if(val > 0){
            return '<span style="color:green;">' + val + '%</span>';
        }else if(val < 0){
            return '<span style="color:red;">' + val + '%</span>';
        }
        return val;
    }

    // create the data store
    var store = new Ext.data.ArrayStore({
        fields: [
           {name: 'company'},
           {name: 'price', type: 'float'},
           {name: 'change', type: 'float'},
           {name: 'pctChange', type: 'float'},
           {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
        ]
    });

    store.loadData(myData);

    // create the Grid
    var grid = new Ext.grid.GridPanel({
        store: store,
        columns: [
            {id:'company',header: "Company", width: 160, sortable: true, dataIndex: 'company'},
            {header: "Price", width: 75, sortable: true, renderer: 'usMoney', dataIndex: 'price'},
            {header: "Change", width: 75, sortable: true, renderer: change, dataIndex: 'change'},
            {header: "% Change", width: 75, sortable: true, renderer: pctChange, dataIndex: 'pctChange'},
            {header: "Last Updated", width: 85, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
        ],
        stripeRows: true,
        autoExpandColumn: 'company',
        height:350,
        width:600,
        title:'Array Grid'
    });
    
    var button = new Ext.Button({
    text: 'Select last row',
    renderTo : Ext.getBody(),
    listeners: {
        click: function(){
            grid.view.focusRow(grid.getStore().getCount()-1);
        }
    }
    });

    grid.render('grid-example');
});
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2009, 16:24
kez kez вне форума
Аспирант
Отправить личное сообщение для kez Посмотреть профиль Найти все сообщения от kez
 
Регистрация: 12.05.2009
Сообщений: 73

люди, подскажите - это баг или моя неопытность?
Ответить с цитированием
  #3 (permalink)  
Старый 20.10.2009, 11:39
kez kez вне форума
Аспирант
Отправить личное сообщение для kez Посмотреть профиль Найти все сообщения от kez
 
Регистрация: 12.05.2009
Сообщений: 73

Вот собственно решение. Это оказался баг.
http://www.extjs.com/forum/showthread.php?t=82963
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GridPanel и фокус первой строки kez ExtJS 1 12.10.2009 14:42
Как убрать выделение в Опере у div, получившего фокус ? spa_2002 Opera, Safari и др. 5 03.09.2009 10:42
Как снять фокус со всех элементов? Logo Общие вопросы Javascript 7 02.07.2009 23:53
Оставить фокус в поле Andrej_2 Общие вопросы Javascript 4 15.06.2009 13:15
Как убрать фокус с селекта в IE6? Shurik_ Общие вопросы Javascript 2 05.11.2008 17:14