我正在尝试使用存储在隐藏字段中的数据填充 jqgrid。我已经成功尝试了从serverdata(数据类型= json)填充网格的方法。但在这里我需要这种方式。这是我所做的:
控制器:
DataTable myTable= MyData.getAllData();
string s = JsonConvert.SerializeObject(myTable);
model.GridData = s;
return this.View(model);
看法:
var mydata = $('#GridData').val()
;
当我在这里使用 alert(mydata ) 时,我可以看到
[{“id”:1,“ToCurrencyID”:2,“货币”:“阿拉伯联合酋长国”,“国家”:“阿拉伯联合酋长国迪拉姆”,“shortName”:“AED”,“ExchRate”:20.000}]
这是jqgrid代码:
jQuery(document).ready(function () {
jQuery("#list").jqGrid({ data: mydata,
datatype: "local",
height: 150,
width: 600,
rowNum: 10,
rowList: [10, 20, 30],
colNames: ['Sl#', 'currencyId_Hidden', 'Country', 'Currency', 'Short Name', 'Exchange Rate'],
//columns model/*
colModel: [
{ name: 'id', index: 'id', align: "left", sortable: false, width: '34px' },
{ name: 'ToCurrencyID', index: 'ToCurrencyID', sortable: false, align: "left", hidden: true },
{ name: 'currency', index: 'currency', align: "left", sortable: false, width: '366px' },
{ name: 'country', index: 'country', align: "left", sortable: false, width: '366px' },
{ name: 'shortName', index: 'shortName', width: '141px', sortable: false, align: "left" },
{ name: 'ExchRate', index: 'ExchRate', width: '382px', sortable: false, align: "right" }
],
pager: "#pager",
loadonce: true,
viewrecords: true,
caption: "Contacts"
});
});
问题是,网格没有被填充。
但是,当我直接使用时,
var mydata=[{ “id”:1,“ToCurrencyID”:2,“货币”:“阿拉伯联合酋长国”,“国家”:“阿拉伯联合酋长国迪拉姆”,“shortName”:“AED”,“ExchRate”: 20.000}];
它,工作正常。
我认为 jqgrid 本身需要一个 json 数组,而不仅仅是一个字符串。有什么建议么?