Поддерживает ли jQuery jqGrid горизонтальную полосу прокрутки и замороженные столбцы?

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

enter image description here

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

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

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

Ответ 1

Возможно, вы используете опцию 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

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

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

и запустите этот script:

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

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

Ответ 3

Попробуйте использовать флеш-плагин jqGrid. Возможно, это поможет вам с вашей проблемой с шириной jqGrid.

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

Удачи!