Jqgrid之異步加載數據-yellowcong

JqGrid若是是發送ajax請求,是阻塞式的,咱們能夠先將grid渲染出來,而後在裏面添加數據,經過異步加載的方式,來渲染grid,主要用到的函數$("#gridKeiTouData")[0].addJSONData(jsonData);,設定在loadComplete 事件裏面,設定數據。javascript

例子

下面就是一個grid,異步加載數據,先渲染,後設定數據java

$("#gbox_gridKeiTouData").remove();
    $("#wfgm1080KeiTouData").append("<table id='gridKeiTouData'></table>");
    $('#gridKeiTouData').jqGrid({
        data: dataList,
        datatype:"local",
        multiboxonly:true,
        cellEdit:false,
        cellsubmit:'clientArray',
        colNames:colNames,
        colModel:colModel,
        width:gridWidth,
        height:gridHeight,
        scrollOffset:0,
        rowNum:dataList.length,
        gridview: true,
        regional:'ja',
        beforeSelectRow: function(rowid, event){
        },loadComplete(xhr){
                //表格渲染出來後,在設定數據
            var jsonData = getGridData();
            $("#gridKeiTouData")[0].addJSONData(jsonData);
        }
    });
//--------------------------------------------------------------------------------------
//數據獲取
//--------------------------------------------------------------------------------------
function getGridData(){

    var url = "/test//getGrid.do";
    var data = [];
    var ajaxParam ={
            "value(No)" : $("#No").val()
    };

    $.ajaxSettings.async = false;
    $.getJSON(
            url,
            ajaxParam,
            function(result,e) {
                if(result.error){
                    sofia.ui.showDialogJsMsg(result.type, result.text);
                }else{
                    data = result.resultList;
                }
    });

    return data;
}
相關文章
相關標籤/搜索