Ошибка jqGrid при установке ширины с использованием нового API - PullRequest
0 голосов
/ 19 мая 2010

Я использую новый API для установки ширины моего jqGrid следующим образом:

$('#grid').jqGrid('setGridWidth', $(window).width() * 0.98);

Проблема в том, что в IE7 я получаю эту ошибку:

'p.cellLayout' равен нулю или не является объектом

Это происходит только в IE7 (IE8, Firefox и Chrome работают нормально). Кто-нибудь еще сталкивался с этой проблемой и исправил ее?

1 Ответ

0 голосов
/ 19 мая 2010

Возможно, вы пытаетесь использовать функцию setGridWidth в неправильном месте. Я бы порекомендовал вам сделать этот звонок внутри loadComplete или gridComplete события.

ОБНОВЛЕНО : У меня нет IE7, поэтому я не могу проверить эту проблему. Существует параметр cellLayout jqGrid, который имеет значение по умолчанию 5 и задокументирован как http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options. Этот параметр используется внутри функции setGridWidth. Если вам не понятно, почему этот параметр должен быть null, но вы можете проверить это перед вызовом setGridWidth. Конструкция alert($('#grid')[0].p.cellLayout); покажет вам это значение. Вы можете попытаться установить это значение равным 5 до вызова setGridWidth, но если у вас действительно есть это свойство как null, у вас определенно есть проблема где-то еще.

Во всех ситуациях, таких как ваша проблема, всегда полезно опубликовать пример кода в вашем вопросе, чтобы другие могли воспроизвести вашу проблему. Иногда у вас есть настоящая проблема не в том месте, которое вы описываете. Так что пример кода всегда очень полезен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...