2016-04-16 3 views
0

У меня есть сетка, которая при загрузке страницы иногда не отображается правильно. Это раздражает, и я пытаюсь найти решение, чтобы заставить его правильно отображать.
Все в порядке с данными на нем, но иногда оно не отображается правильно.
Это просто, когда я загружаю сетку в первый раз, потому что после этого она отображается правильно. Вот сетка с визуализацией правильно: Grid Render OK и вот ошибка визуализации, которую она иногда дает мне, когда я впервые загружаю сетку. Grid Render Error Я попытался все это исправляет, но ни одна работа:Строка ExtJS не отображается правильно

grid.getView().refresh(); 
--- 
grid.columns[2].setVisible(false); 
grid.columns[2].setVisible(true); 
--- 
grid.getStore().filterBy(function() { return true; }); 

После нажатия на левой сетке, он применяет фильтр к правой сетке, и если вынести не было нормально, он становится правильным. Поэтому я считаю, что это проблема рендеринга. Я задаю этот вопрос как последнее средство. У кого-нибудь есть предложения?
Я пользуюсь ExtJS 4.

+0

Нет ошибок в консоли? – serg

+0

вы можете воспроизвести его с помощью [скрипки] (http://fiddle.sencha.com)? – aviram83

+0

@serg Я никогда не регистрировал консольную ошибку. Это сложно, потому что ошибка появляется только несколько раз при первом загрузке, и я обычно не открывал Firebug в это время. Когда я точно знаю, что отвечу на этот вопрос – alexandre1985

ответ

0

Попробуйте добавить afterrender на свой компонент. Это приведет к пересчету компоновки контейнера.

Что-то вроде

grid.on("afterrender", function() { 
      this.doLayout(); 
}); 

Или с слушателей:

listeners: { 
      afterrender: function(e) { 
       this.doLayout();  
      } 
Смежные вопросы