Настройка размера страницы KendoUi Grid в привязке к данным

У меня есть сетка кендо, которая получает данные, а также настройки шрифта с сервера. У пользователя есть возможность использовать прокрутку или листание по страницам, но не то и другое одновременно.

Проблема в том, что когда я устанавливаю шрифт для соответствующих ячеек, это делает эти строки больше, поэтому строки больше не помещаются в область содержимого сетки.

То, что я делаю в данный момент, - это все в событии dataBound:

  • Установите стиль.
  • Учитывая этот стиль, подсчитайте, сколько строк может поместиться в содержимом.
  • Если рассчитанное количество строк не соответствует dataSource.pageSize, установите dataSource.pageSize в качестве этого значения.

Проблема в том, что метод pageSize сбрасывает сетку (тем самым вызывая dataBound (только иногда?!)), удаляя стилизацию, а также dataBound каким-то образом становится несвязанным.

У меня есть jsfiddle, который выходит из строя по-другому, но я думаю, по тем же причинам, что и моя программа, но если бы кто-нибудь мог сказать мне, как заставить его работать, я мог бы применить логику к своей программе.

http://jsfiddle.net/y6vMx/5/


person James    schedule 06.09.2013    source источник


Ответы (1)


Почему вы загружаете стиль, когда срабатывает dataBound? Есть ли у пользователя возможность изменить стиль?

Если мне придется сделать что-то подобное, я добавлю стили к другому событию, например, при загрузке страницы или что-то подобное (лучше всего вызывать его после заполнения сетки).

Я также использую сетку кендо прямо сейчас, и у меня много проблем.

person dan8912    schedule 06.09.2013
comment
Пользователь может изменить стиль на стороне сервера, поэтому он предопределен, никаких изменений в реальном времени. Я не могу установить стиль для ячейки, пока она не будет отображена, и это не произойдет, пока я не доберусь до страницы, на которой она находится; поэтому я должен использовать для этого событие dataBound. Затем я получаю его высоту и использую эту информацию для установки размера страницы. - person James; 06.09.2013
comment
Итак, я немного рассмотрел этот подход и позволил размеру страницы соответствовать каждому элементу при загрузке, а затем сохранил каждую высоту строки, а затем установил pageSize для соответствия данным. Но у меня все еще есть проблема с переходом на следующую страницу. Мне нужно снова установить размер страницы, так как он мог измениться... Знаете ли вы какой-нибудь способ предварительно определить размер для каждой страницы или что-нибудь утомительное в этом роде? - person James; 06.09.2013