Добавление пользовательской навигации jqGrid на верхнюю панель инструментов - PullRequest
8 голосов
/ 14 октября 2010

Можно ли добавить элементы навигации в «верхний пейджер» в jqGrid? И если да, то каков синтаксис для этого?

У меня есть HTML-фрагмент на моей странице, который выглядит так

<table id="mygrid">
</table>
<div id="mygrid_pager"></div>

И затем инициализация jqGrid, которая выглядит примерно так

$('#mygrid').jqGrid({
    ..., //full config string removed for brevity,
    pager:jQuery('#mygrid'),
    toppager:true
}); 
$('#mygrid').jqGrid('navGrid', '#mygrid_pager'),{
    'add':false,
    'del':false,
    'edit':false,
    'search':false,
    'refresh':false,
    'cloneToTop':true,  
}).navButtonAdd('',{...}); //config navbutton string for button removed for brevity

«Верхний пейджер» с идентификатором #mygrid_toppager автоматически вставляется на страницу, но его пользовательские кнопки (которые появляются на нижнем пейджере) не подходят для поездки.

Я вижу, что для navGrid включена опция "cloneToTop" , но ее описание кажется странным, и я могу только предположить, что я использую ее неправильно.

Клонирует все действия от нижнего пейджера до верхнего пейджера. если определено. Обратите внимание, что navGrid может быть применен к вершине только пейджер. Идентификатор верхнего пейджера представляет собой комбинацию идентификатора сетки и "_Toppager"

Насколько я понимаю, эта опция будет принимать кнопки, добавленные в нижний пейджер, и клонировать их в верхнюю часть. Однако в описании далее говорится, что «navGrid может быть применен только к верхнему пейджеру, что не имеет никакого смысла, так как вы его клонируете. Суть в том, что у меня явно есть глубокое неправильное понимание того, как работает API. должен быть использован.

Если кто-нибудь может указать мне правильное направление (даже где-то на рабочий пример), я был бы признателен. Я бы предпочел сделать это через официальные API, в отличие от для хитрой манипуляции с DOM , как это видно в других местах StackOverflow.

1 Ответ

17 голосов
/ 14 октября 2010

ОК, похоже, я нашел способ, который выглядит лучше. Идея состоит в том, чтобы использовать navButtonAdd с "#list_toppager_left" вместо "#pager".

Я изменил старый ответ так, что одна пользовательская кнопка добавляется в верхней части панели инструментов навигации вместе с одной стандартной кнопкой. Другие элементы из верхней панели инструментов навигации будут удалены. Результаты будут выглядеть как alt text

Вы можете увидеть соответствующее демо здесь .

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