Поддерживает ли jQuery jqGrid горизонтальную полосу прокрутки и фиксированные столбцы? - PullRequest
10 голосов
/ 13 февраля 2011

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

enter image description here

Вместо горизонтальной полосы прокрутки, если ширина сетки слишком велика.

Как я могу получить горизонтальную полосу прокрутки для jQgrid, чтобы фиксированный максимальный размер сетки был, и если я добавлю больше столбцов, она просто прокрутится?

Кроме того, если это возможно, вы можете заморозить первые несколько столбцов?

Ответы [ 3 ]

11 голосов
/ 13 февраля 2011

Возможно, вы используете forceFit:true jqGrid. Прежде всего вы должны установить forceFit:false или использовать shrinkToFit:false. После этого вы можете либо использовать опцию width jqGrid, либо использовать метод setGridWidth для установки ширины сетки. У вас будет сетка, в которой заголовок столбца соответствует свойству столбца width, а сетка будет иметь горизонтальную полосу прокрутки.

ОБНОВЛЕНО: Попробуйте установить shrinkToFit:false и width:600 (например) и посмотрите результаты.

После установки только shrinkToFit:false вы можете видеть, что сетка будет иметь горизонтальную полосу прокрутки. Вы увидите, что даже сетка достаточно мала, чтобы отображаться без прокрутки. Это ошибка, которую я выложил здесь вместе с соответствующим исправлением ошибки. Исправление включено в код на GitHub , но не включено в jqGrid 3.8.2. В следующем выпуске jqGrid будет исправлено. Тем не менее, для вашей цели неправильная ширина не важна, потому что вы будете / можете явно установить width сетки.

2 голосов
/ 20 августа 2013

Вы можете получить горизонтальную полосу прокрутки со статическими или автоматическими полями размера, обернув сетку и пейджер с помощью div и запустив небольшой скрипт,
вы можете увидеть jsfiddle-пример или просто перейтивот так:

<div id="grid_container">
  <table id="list"></table>
  <div id="pager"></div>
</div>

и запустите этот скрипт:

$('#grid_container div:not(.ui-jqgrid-titlebar)').width("100%");    

В моем примере используется скрипт от trirand.com, но я попробовал его в своем последнем выпуске, и он работал просто отлично.
надеюсь, я помог.

1 голос
/ 15 февраля 2011

Попробуйте использовать жидкость jqGrid плагин .Может быть, это поможет вам решить проблему с шириной jqGrid.

Что касается второго вопроса, для замораживания первых n столбцов я успешно использую этот супер плагин длязамораживание первых столбцов.Вы добавляете только один атрибут в вашу колмодель, и он работает.

Удачи!

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