Поддерживает ли 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 только один атрибут, и он работает.
Удачи!