2015-04-04 5 views
1

я использую этот код:Extjs 3.4: Нет записей данных в сетке

grid.render('grid'); 
Ext.getCmp('grid').mainBody.update('<div class="x-grid-empty">' + this.emptyText + '</div>'); 

Согласно документации

emptyText: String По умолчанию текст (HTML-теги принимаются) для отображения в тело сетки, если нет доступных строк (по умолчанию - '). Это значение будет использоваться для обновления mainBody:

this.mainBody.update('<div class="x-grid-empty">' + this.emptyText + '</div>'); 

для меня это показывает

Не удается прочитать свойство 'обновление' неопределенной

Пожалуйста, помогите

+0

Что такое 'this'? Нам может понадобиться больше кода для продолжения, но похоже, что «это» не содержит определения «mainBody» – weeksdev

+0

Я пытался это, но позже я узнал об deferEmptyText: false и emptyText: ' данных не найдено »..... нужно записать их в viewConfig {}. – sparsh610

+0

покажите нам свой класс 'grid', чтобы объяснить причину этой ошибки. Только можно сказать, что часть кода, которую вы указали выше, состоит в том, что 'mainBody' не ссылается на визуализированный объект. – talha06

ответ

0

В этот фрагмент, render является асинхронным. Поэтому mainBody еще не существует, когда он вызывается на следующей строке.

grid.render('grid'); 
Ext.getCmp('grid').mainBody.update('<div class="x-grid-empty">' + this.emptyText + '</div>'); 

Кроме того, ExtJs должен обрабатывать emptyText себя, так что я не понимаю, почему это необходимо обновить mainBody с emptyText в любом случае.

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