他使用本地浏览器缓存,而不是向服务器发送请求。如果服务器在响应(HTTP头)中包含有关允许的缓存时间的任何信息,则它将自动用于jQuery.ajax中的客户端

他使用本地浏览器缓存,而不是向服务器发送请求。如果服务器在响应(HTTP头)中包含有关允许的缓存时间的任何信息,则它将自动用于jQuery.ajax中的客户端,jquery,jqgrid,Jquery,Jqgrid,根据发布的源代码更新了3:代码中有一些错误。这是固定密码 var myGrid = $("#mygrid").jqGrid({ datatype: 'local', colModel: [ { name: 'AID', label: 'Some ID', key: true, width: 100, editable: false, sorttype: "int" }, { name: 'Name', width: 300, e

根据发布的源代码更新了3:代码中有一些错误。这是固定密码

var myGrid = $("#mygrid").jqGrid({
    datatype: 'local',
    colModel: [
        { name: 'AID', label: 'Some ID', key: true, width: 100,
          editable: false, sorttype: "int" },
        { name: 'Name', width: 300, editable: false },
        { name: 'Group', width: 100, editable: false },
        { name: 'Info', width: 100, editable: false },
        { name: 'AValue', width: 100, editable: true, edittype: 'text' }
    ],
    pager: '#mypager',
    rowNum: 10,
    rowList: [10, 20, 500],
    viewrecords: true,
    autowidth: true,
    sortname: 'AID',
    sortorder: 'desc'
});
myGrid.jqGrid('navGrid','#mypager',{edit:false,add:false,del:false,search:false});

var mydata = [];
for (var i = 0; i < 100; i++) {
   mydata.push({AID:i,Name:"123",Group:"456",Info:"78",AValue:"8"});
}
myGrid.setGridParam({data: mydata}).trigger("reloadGrid");
var myGrid=$(“#myGrid”).jqGrid({
数据类型:“本地”,
colModel:[
{name:'AID',label:'Some ID',key:true,width:100,
可编辑:false,sorttype:“int”},
{name:'name',宽度:300,可编辑:false},
{name:'Group',宽度:100,可编辑:false},
{name:'Info',宽度:100,可编辑:false},
{name:'AValue',宽度:100,可编辑:true,edittype:'text'}
],
寻呼机:“#我的寻呼机”,
rowNum:10,
行列表:[10,20500],
viewrecords:是的,
自动宽度:正确,
sortname:“援助”,
排序器:“描述”
});
jqGrid('navGrid','#mypager',{edit:false,add:false,del:false,search:false});
var mydata=[];
对于(变量i=0;i<100;i++){
mydata.push({AID:i,Name:“123”,Group:“456”,Info:“78”,AValue:“8”});
}
setGridParam({data:mydata}).trigger(“reloadGrid”);
你可以在这里试试


更新4:这里是包含客户端编辑的相同示例。它基于和。

我的代码如下。InitGridTestBulkLoad在网格加载完成并正确显示第一页(共10条记录)后运行。分页控件显示我在第1页,共10页

然而,如果我点击“下一页”,我会看到一个简短的“加载”框,但没有任何变化。此外,如果单击第一列标题进行排序,则不会发生任何事情

存储“缓存”数据并将其加载到网格的网格定义和代码为:

jQuery(document).ready(function() {
    jQuery("#mygrid").jqGrid({
        dataType: "local",
        data: {},
        colNames: ['AID', 'Name', 'Group', 'Info', 'AValue'],
        colModel: [
                        { name: 'AID', label: 'Some ID', index: 'SomeID', width: 100, editable: false, sorttype: "int" },
                        { name: 'Name', label: 'Name', index: 'Name', width: 300, editable: false },
                        { name: 'Group', label: 'Group', index: 'Group', width: 100, editable: false },
                        { name: 'Info', label: 'Info', index: 'Info', width: 100, editable: false },
                        { name: 'AValue', label: 'AValue', index: 'AValue', width: 100, editable: true, edittype: 'text' }
                      ],
        pager: '#mypager',
        rowNum: 10,
        rowList: [10, 20, 500],
        viewrecords: true,
        loadonce: true,
        autowidth: true,
        sortname: 'AID',
        sortorder: 'desc'
    });

});

var oJR = {};
oJR.rows = new Array();
function InitGridTestBulkLoad() {
    oJR.total = 100;
    oJR.page = 1;
    oJR.records = 100;
    for (var i = 0; i < 100; i++) {
        var s = i.toString();
        oJR.rows[i] = {};
        oJR.rows[i].id = i;
        oJR.rows[i].cell = [s, "123", "456", "78", "8"];
    }

    var mg = $("#mygrid");
    mg[0].addJSONData(oJR);
}
jQuery(文档).ready(函数(){
jQuery(“#mygrid”).jqGrid({
数据类型:“本地”,
数据:{},
colNames:['AID','Name','Group','Info','AValue'],
colModel:[
{name:'AID',label:'SomeID',index:'SomeID',宽度:100,可编辑:false,sorttype:'int'},
{name:'name',label:'name',index:'name',width:300,editable:false},
{名称:'Group',标签:'Group',索引:'Group',宽度:100,可编辑:false},
{名称:'Info',标签:'Info',索引:'Info',宽度:100,可编辑:false},
{name:'AValue',label:'AValue',index:'AValue',宽度:100,可编辑:true,edittype:'text'}
],
寻呼机:“#我的寻呼机”,
rowNum:10,
行列表:[10,20500],
viewrecords:是的,
有一次:是的,
自动宽度:正确,
sortname:“援助”,
排序器:“描述”
});
});
var-oJR={};
oJR.rows=新数组();
函数InitGridTestBulkLoad(){
oJR.total=100;
oJR.page=1;
oJR.records=100;
对于(变量i=0;i<100;i++){
var s=i.toString();
oJR.rows[i]={};
oJR.rows[i].id=i;
oJR.rows[i].单元格=[s,“123”,“456”,“78”,“8”];
}
var mg=$(“我的网格”);
mg[0].addJSONData(oJR);
}

谢谢-立即查看!谢谢你,奥列格。我看到的示例是从服务器和page/sort/等传递的数据。没问题。但是,我希望从服务器获取数据并将其存储在客户机上一个单独的“cache”变量中。然后我希望在页面上填充几个网格,例如Grid1有所有缓存行,其中cacheRow.Array.Type=1,Grid2有“Type=2”行,等等。我真的希望有完整的客户端控制来添加和删除每个网格中的数据。当我这样做时,网格似乎没有正确地“分页”——每个网格显示它的所有行!我想一定是遗漏了一些简单的东西。我想我没有很好地解释第二部分。假设数据集是[{ID:1,名称:'Bob',性别:'Male'},{ID:1,名称:'Hilary',性别:'Female'},…]我的用户希望在“性别”下有一列,每个单元格中有两个单选按钮,'Male'和'Female'。然后,他们只需查看列表,单击正确的收音机,然后保存数据。我的问题是:1)如何让单选按钮进入每个单元格。用户不希望在每一行上单击“编辑”,而是希望将数据视为收音机。2) 将无线电绑定到客户端阵列中的“性别”列。希望你能帮忙?哦。应该是[{ID:1,名字:'Bob',性别:'Mean'},{ID:2,名字:'Hilary',性别:'Female'},…]我相信你知道我的意思:)Oleg。很简单,你就是一颗钻石!谢谢你看这个。实际上,我想我会努力说服用户采用内联方法。如果他们有大量的“批量”编辑工作要做,我的日子会更难过,但事实并非如此,所以我认为我们没事。再次感谢!不客气!我尝试了不同的方法,发现内联编辑对用户来说是最舒服的。顺便说一下,如果您在编辑模式下需要一些自定义控件(用于内联编辑和表单编辑),也可以。看看祝你好运