2012-06-01 2 views
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); 

문제 그것을 행이 그리드에서 발생하지만, 행의 데이터가없는 얻고있다. enter image description here

내가 뭘 잘못하고 있는지 알려 주시기 바랍니다.

답변

2

기본값 jsonReadercell이 문자열 배열로 대기합니다. 그래서 당신은

cell = new 
{ 
    ProcessName = p.ProcessName.ToString(), 
    WorkingSet64 = p.Memory.ToString() 
} 

cell = new [] { p.ProcessName, p.Memory.ToString() } 
+0

덕분에 코드의 부품을 교체해야한다, 그것이 마치 마법처럼 일했다, 그러나이 같은 만든 이유를 알려, 행에 내가 가지고있는 것입니다 만주세요 단일 엔티티가 배열이 아닙니다. –

+0

@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

+0

@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

관련 문제