MVCとWebApiを使用してアプリケーションを構築しています。ビューでは、JqGridを使用しています。以前は、正常に機能していたJqGridにローカルデータを割り当てていました。ロジックの変更により、WebApiを使用してサーバーからデータを取得しています。これはJsonデータであり、変数に格納してから、このデータオブジェクトをJqGridに割り当てますが、データは表示されません。データオプションの代わりにWebAPIの「url」を指定するとすべてが正常に機能しますが、「データ」オプションを使用するとすぐにjqgridが機能しなくなります。考えられる理由は何ですか。これを行う理由は、データをローカルで追加、編集、更新し、最後の保存ボタンを押すと、データがサーバーに戻るためです。
$().ready(function () {
//{"total":1,"page":1,"records":3,"rows":[{"id":"1","cell":["1","Tomato
//Soup","db@db.com","db@db.com","Groceries"]},{"id":"2","cell":["2","Yo-
//yo","db@db.com","db@db.com","Toys"]},{"id":"3","cell":
//["3","Hammer","db@db.com","db@db.com","Hardware"]}]}
//
$.getJSON("api/userwebapi/",
function (data) {
//userDataFromApi = jQuery.parseJSON(data);
userDataFromApi =data;
//alert(userDataFromApi[0].ID);
ConfigureUserGrid(userDataFromApi);
});
});
function ConfigureUserGrid(userDataFromApi) {
var grdUsers = $("#grdUsers");
var lastsel = 0;
$("#grdUsers").jqGrid({
datatype: "json"
, data: userDataFromApi
//, url: "api/userwebapi"
,colNames: ['ID', 'Name', 'User Role', 'Email', 'Address']
,colModel: [
{ name: 'ID', index: 'ID', width: 80, hidden: true }
, { name: 'Name', index: 'Name', width: 150 }
, { name: 'UserRole', index: 'UserRole', width: 150 }
, { name: 'Email', index: 'Email', width: 200, sortable: true }
, { name: 'Address', index: 'Address', width: 200, sortable: true }]
, viewrecords: true
, pager: '#pager1'
, mtype: 'GET'
,rowNum:true
,caption: 'My first grid'
}); //close of jQuery("#grdUsers").jqGrid({
$("#grdUsers").jqGrid('navGrid', '#pager1',
{ add: false, del: false, edit: false, search: false, refresh: false });
}