2015-12-11 7 views
0

Я использую Ext.grid.GridPanel, версия ExtJs3.4. Для загрузки 1000 записей в сетку требуется минимум 6 до 7 секунд.
Моя часть java дает результат менее 1 секунды, но рендеринг занимает 6-7 секунд.
В чем может быть проблема?
Что может быть возможным решением для повышения производительности?
Вот мой код.Почему Ext.grid.GridPanel работает медленно?

var grid = new Ext.grid.GridPanel({ 
       title:gridtitle, 
       border: false, 
       height: getGridHeight(), 
       autoScroll:true, 
       store: store, 
       id:'grid', 
       colModel: createColModel(gridnoofcols), 
       loadMask: true, 
       view: new Ext.grid.GroupingView({ 
        autoFill:true, 
        groupTextTpl: getGroupConfig(), 
        emptyText: emptytext,deferEmptyText: false 
       }), 
       listeners: { 
        render : function(grid){ 
         grid.store.on('load', function(store, records, options){ 
         grid.getSelectionModel().selectFirstRow();  
         });      
        } 
        }, 
       plugins: [filters],   
       bbar: new Ext.Toolbar({ 
       }) 
    }); 

Following are the Column model 

var createColModel = function (finish, start) { 
    var columns = [ 
     new Ext.grid.RowNumberer({ 
      header: "<span style=font-weight:bold;><%=SLNO%></span>", 
      width: 50 
     }), { 
      dataIndex: 'slnoIndex', 
      hidden: true, 
      header: "<span style=font-weight:bold;><%=SLNO%></span>", 
      filter: { 
       type: 'numeric' 
      } 
     }, <%=liveVisionColumns.getGridHeaderBuffer(processID,language,checkFDAS).toString()%> 
    ]; 
    return new Ext.grid.ColumnModel({ 
     columns: columns.slice(start || 0, finish), 
     defaults: { 
      sortable: true 
     } 
    }); 
} 
+1

Почему вы не задали запрос страницы для заполнения сетки? Экстранс gridpanel хорошо работает с разбиением на страницы – Marco

+0

Я попытаюсь разбиться на страницы ........ Фактически Ext.ux.grid.livegrid.GridPanel быстрее, чем GridPanel, но у него есть некоторые проблемы, такие как фильтры, сетка автоматически загружается, если мы нажмите на заголовок, но спасибо за ценный комментарий. –

+0

Вы когда-нибудь подозревали о фильтрах livegrid? Фильтр не работает для extjs3.4 livegrid? –

ответ

0

Это может быть медленным из-за количества записей и группировка зрения. Однако 6-7 секунд все еще слишком много. Проблема с моделью столбцов. Количество столбцов и рендереров может действительно замедлить сетки extjs. Старайтесь избегать рендеринга столбцов. Не могли бы вы рассказать о модели колонки?

+0

Я отредактировал мое сообщение. Добрый взгляд на это ... Пожалуйста, дайте мне знать проблемы –

+0

Я не использовал средства рендеринга столбцов, но да, мой заголовок динамичен. Разве это имеет значение? –

+0

Нет, нет. Но вы все еще не показали результат «liveVisionColumns.getGridHeaderBuffer». И, наконец, самое лучшее, что вы можете сделать, это профилирование вашей сетки. Переверните extjs grid_panel, чтобы поставить «console.log» где-то внутри и посмотреть, что занимает так много времени. Примечание. Можете ли вы также попробовать без группировки и посмотреть результат? – abeyaz

Смежные вопросы