Jqgrid: загрузить данные после загрузки Grid? - PullRequest
1 голос
/ 04 января 2012

Я использую jqgrid 4.0. Сетка загружается при загрузке страницы, используя тип данных local, loadonce: true, и я не хочу использовать нумерацию страниц.Поскольку загружаемые данные огромны, для их загрузки требуется много времени.Как я могу

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

  2. Загрузить данные быстрее в сетке?

Ниже приведен фрагмент моего кода, где «data» - это кодированный массив, сформированный на стороне сервера в формате json.

<script type="text/javascript">
    jQuery("#list9").jqGrid({
        data: data,
        datatype: "local", 
        colNames:[...],
        colModel:[...],
        sortname: 'fld_name',
        rowNum: '-1',
        loadonce:true, 
        mtype: "GET",
        gridview: true,
        viewrecords: true,
        sortorder: "asc",
        pager: '#pager9',
        rownumbers: true,
        multiselect: false,
        width: '100%',
        pgbuttons:false,
                pgtext:'',
        loadtext: 'loading....',
        ignoreCase: true
        });

jQuery("#list9").jqGrid('filterToolbar', {stringResult: true,searchOnEnter : false}); 
$('.ui-widget-header').css("background", "#7B9FBC");
$('.ui-jqgrid-sortable').css("text-align", "left");


</script>

1 Ответ

1 голос
/ 04 января 2012

Что я делаю, это:

Сначала визуализируем сетку без каких-либо данных.

var grid = $('#myGrid'); 
grid.jqGrid({   
    data: [],
    datatype: "local",
    colModel: [ ...

Затем добавьте данные в сетку с помощью addRowData .

var grid = $('#myGrid');
grid.jqGrid('addRowData', 'ContactID', newRowData, 'first');

Похоже, у вас уже есть данные в памяти, когда вы строите сетку, и для ее визуализации требуется много времени.Это может быть из-за того, что все объекты DOM создаются при рендеринге сетки.Вы ничего не можете с этим поделать, кроме подкачки страниц или уменьшения сложности ваших ячеек, если вы используете интенсивное форматирование.

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