Настройка виртуальной прокрутки jqgrid (загрузка при прокрутке) - PullRequest
1 голос
/ 13 марта 2012

Я хочу использовать функцию загрузки по прокрутке (виртуальная прокрутка) для моих данных в jqgrid.

Я искал хорошую документацию и примеры этого, но все, что я нашел, только для фреймворка asp.net, который также не был таким полезным.

Я использую Java-Spring Framework на стороне сервера.

, пожалуйста, предложите какой-нибудь способ реализовать функцию виртуальной прокрутки для моей сетки.

Моя сетка настроена так.

jQuery("#tree").jqGrid({
    url:'json/jsonSamplePots.json',
    datatype: "json",
    mtype:'GET',
    colNames: ["id", "no.", "name", "col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8", "col9", "col10", "col11", "col12", "col13", "col14", "col15", "col16"],
    colModel: [
        {name:'id',width: 30, editable:false, align:"right",sortable:false, hidden: true, key: true},
        {name:'no',width:80, editable:false, align:"left", sortable:true, sorttype:"int"},
        {name:'name', width:150, editable:true, sortable:true, sorttype:"text"},
        {name:'col1', width:80, editable:true, align:"right", sortable:true, sorttype:"int"},
        {name:'col2', width:80, editable:true, align:"right", sortable:true, sorttype:"date"},
        {name:'col3', width:80, editable:true, align:"right", sortable:true, sorttype:"date"},
        {name:'col4', width:80, editable:true, align:"right", sortable:true, sorttype:"int"},
        {name:'col5', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"date"},
        {name:'col6', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"date"},
        {name:'col7', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"int"},
        {name:'col8', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"date"},
        {name:'col9', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"date"},
        {name:'col10', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"int"},
        {name:'col11', width:120, editable:true, align:"left", sortable:true, sorttype:"text"},
        {name:'col12', width:80, editable:true, align:"left", sortable:true, sorttype:"text"},
        {name:'col13', width:80, editable:true, align:"right", sortable:true, hidden: true, sorttype:"text"},
        {name:'col14', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"text"},
        {name:'col15', width:300, editable:true, align:"left", sortable:true, sorttype:"int"},
        {name:'col16', width:80, editable:true, align:"right", sortable:true, sorttype:"int"},
    ],

    treeGridModel:'adjacency',
    treeGrid: true,
    cellEdit: true,
    ExpandColumn:'name',
    cellsubmit : 'clientArray',
    scroll : 1,
    loadonce : false,
    jsonReader : {
 root:"listTasks",
 cell:"",
 id: "id",
 repeatitems:false

}

});

Заранее спасибо .. !!

1 Ответ

4 голосов
/ 13 марта 2012

Нет встроенного способа использовать динамическую прокрутку и TreeGrid вместе.Когда вы используете TreeGrid, все функции пейджера отключены, и тип данных автоматически устанавливается на локальный после начальной загрузки данных.Вы можете прочитать обо всех ограничениях в «Предостережения и ограничения» раздел документации TreeGrid.

ОБНОВЛЕНИЕ

Чтобы заставить его работать в простой сетке,для этого достаточно установить значение scroll в значение true:

$('#grid').jqGrid({
  ...  
  //enable dynamic scrolling
  scroll: true,
  ...
});

jqGrid отключит элементы управления пейджером и автоматически сделает запрос на новую страницу при выходе из текущей.Существует также способ оптимизировать этот опыт.Вы можете включить параметр npage в опции prmNames:

$('#grid').jqGrid({
  ...
  //enable dynamic scrolling
  scroll: true,
  //enable npage request parameter
  prmNames: { npage: 'npage' },
  ...
});

Это позволит jqGrid запрашивать более одной страницы одновременно, добавив параметр npage в запрос (он будет содержать количество страниц, которые запрашивает jqgrid ивы должны вернуть правильное количество строк).

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