0
MVC 응용 프로그램에서 작업하고 있습니다. 내 aspx 페이지에 jqGrid를 작성했습니다. 컨트롤러에서jqGrid 데이터가 표시되지 않지만 행이 생성 중입니다.
$(document).ready(function() {
jQuery("#jqgajax").jqGrid({
url: 'http://localhost:54136/home/fetchData',
datatype: "json",
colNames: ['ProcessName', 'WorkingSet64'],
colModel: [
{ name: 'ProcessName', index: 'ProcessName', width: 55 },
{ name: 'WorkingSet64', index: 'WorkingSet64', width: 90 }
],
rowNum: 80,
mtype:'Get',
width: 700,
rowList: [10, 20, 30],
sortname:'id',
viewrecords: true,
sortorder: "desc",
caption: "New API Example"
});
});
C# 코드 :
var jsonData = new
{
total =10,
page = 10,
records = 10,
rows = (
from p in pu
select new
{
id = ++counter,
cell = new
{
ProcessName = p.ProcessName.ToString(),
WorkingSet64 = p.Memory.ToString()
}
}).ToArray()
};
return Json(jsonData,JsonRequestBehavior.AllowGet);
문제 그것을 행이 그리드에서 발생하지만, 행의 데이터가없는 얻고있다.
내가 뭘 잘못하고 있는지 알려 주시기 바랍니다.
덕분에 코드의 부품을 교체해야한다, 그것이 마치 마법처럼 일했다, 그러나이 같은 만든 이유를 알려, 행에 내가 가지고있는 것입니다 만주세요 단일 엔티티가 배열이 아닙니다. –
@vaibhav : JSON 형식을 설명하는 jqGrid의'jsonReader' 옵션을 정의하고 JSON 데이터 형식을 선택해야합니다. 예를 들어,'ProcessName' 값이 유일하다면 당신은'var jsonData = (pu에서 newProcessName = p.ProcessName, WorkingSet64 = p.Memory.ToString()}을 선택하십시오.) 서버 안의 ToArray()'를 사용할 수 있습니다. 암호. 그러면 JSON은'[{ProcessName ":"p1 ","WorkingSet64 ":"123 "}, {"ProcessName ":"p2 ","WorkingSet64 ":"345 "}]'와 같이됩니다. – Oleg
@vaibhav : 'jsonReader : {repeatitems : false, id : "ProcessName", 레코드 : function (obj)}를 사용할 수있는 데이터를 읽으려면 {obj.length; }, 루트 : function (obj) {return obj; }, 페이지 : function() {return 1; }, total : function() {return 1; }}'. 서버에서 데이터를 포맷하는 방법에 대한 다른 많은 예가 있지만'colModel'에서 항상 해당 jsonReader 또는 때때로'jsonmap' 속성을 사용해야합니다. – Oleg