2011-11-25 5 views
0

내가이 일을 분류 할 수 있다고 생각했지만 다른 응용 프로그램에서 jqGrid를 사용하려고 시도했지만 작동하지 않으려 고합니다. 언급 된 URL로 이동하지도 않습니다. 비어있는 그리드 만 빈 레코드 문자열을 표시하지 않습니다.
'이것은 내가보기jqGrid with ASP.NET MVC3 다시?

$("#list").jqGrid({ 
      url: '/Customers/MyAccount/GetEnhancementRequests', 
      datatype: 'json', 
      type: 'POST', 
      colNames: ['ID', 'Requested By', 'Requested Date', 'Details', 'Progress'], 
      colModel: [ 
      { name: 'Id', index: 'ID', key: true, width: 55 }, 
      { name: 'CustomerName', index: 'CustomerName', width: 50 }, 
      { name: 'requestDate', index: 'requestDate', width: 50 }, 
      { name: 'details', index: 'details', width: 50 }, 
      { name: 'progress', index: 'progress', width: 50 } 
      ], 
      pager: $("#pager"), 
      rowNum: 2, 
      rowList: [2, 10, 50, 100, 200], 
      sortname: 'ID', 
      viewrecords: true, 
      sortorder: 'desc', 
      caption: 'Enhancement Requests', 
      imgpath: '/Content/images', 
      width: 1000, 
      height: 500, 
      emptyrecords: 'No enhancements have been submitted', 
      jsonReader: { repeatitems: false } 
     }); 


     $("#list").jqGrid('navGrid', '#pager', 
     { edit: false, add: false, del: false }, 
     {}, 
     {}, 
     {}, 
     { multipleSearch: true, multipleGroup: true } 
     ); 

에있는 그리고 난 그냥 컨트롤러 액션에 중단 점을 가지고이

[HttpPost] 
public JsonResult GetEnhancementRequests(string sidx, string sord, int page, int rows, bool _search, string filters) 
     { 
      var jsonData = new 
      { 
       total = 1, 
       page = page, 
       records = 1, 
       rows = (
        new { 
         id = 1, 
         cell = new string[]{ 
          "1", "RequestedBy", DateTime.Now.ToShortDateString(), "Lots of details", "and even some progress"}       
        }) 
      }; 
      return Json(jsonData); 
     } 

로 내 컨트롤러 액션을 변경 한 것입니다,하지만 외설 그 방법으로 들어가기조차하지 않아. 어떤 통찰력?

편집 : 추가를 잊어 버렸습니다. 다음 스크립트 참조가 있습니다. 당신이 볼 수 있듯이, 나는 모든 REQ 파일

있어
<link href="../../../../Scripts/css/custom-theme/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" /> 
<link href="../../../../Scripts/css/ui.jqgrid.css" rel="stylesheet" type="text/css" /> 
<link href="../../../../Scripts/ui.multiselect.css" rel="stylesheet" type="text/css" /> 

<script src="../../../../Scripts/jquery-1.6.4.min.js" type="text/javascript"></script> 
<script src="../../../../Scripts/jquery-ui-1.8.15.min.js" type="text/javascript"></script> 
<script src="../../../../Scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script> 
<script src="../../../../Scripts/grid.locale-en.js" type="text/javascript"></script> 
<script src="../../../../Scripts/ui.multiselect.js" type="text/javascript"></script> 
<script src="../../../../Scripts/jquery.jqGrid.min.js" type="text/javascript"></script> 
<script src="../../../../Scripts/jquery.tablednd.js" type="text/javascript"></script> 
+0

그리드가 요청하는 URL의 샘플 출력도 게시 할 수 있습니까? –

답변

1

코드에서 몇 가지 오류가 있습니다 : 당신이 rows의 형식을 사용하는 경우

  • 당신은 있는 jqGrid 정의에서 jsonReader: { repeatitems: false } 매개 변수을 제거해야합니다은 {id, cell} 속성을 가진 항목의 경우 cell은 문자열 배열입니다.
  • 모든 JavaScript 파일 을 한 번만 포함해야합니다.. 현재 jquery-ui-1.8.15.min.jsjquery-ui-1.8.16.custom.min.js이 모두 포함되어 있습니다. 을 (를) jquery-ui-1.8.15.min.js (으)로 제거해야합니다. 같은 방식으로 jquery.tablednd.js 파일은 이미 jquery.jqGrid.min.js에 최소화 된 형태로 포함되어 있습니다. 을 (를) jquery.tablednd.js (으)로 제거해야합니다.

일부 다른 것들에 오류가 아니지만, 단지 추천 :

  • 매개 변수는 imgpath 많은 년부터있는 jqGrid에 존재하지. 아마도 템플릿으로 복고풍 예제를 사용했을 것입니다. 매개 변수 imgpath: '/Content/images'을 포함하면 blaBla: 'HaHa'을 포함하는 것과 동일하게 수행됩니다. 아무 것도 수행하지 않습니다. 따라서 은 (는) imgpath: '/Content/images'을 (를) 제거해야합니다.
  • pager: $("#pager")pager: "#pager"으로 바꿉니다. 표현 $("#pager")id="page"이있는 페이지에서 DOM 요소를 선택하고 DOM 요소에 jQuery 래퍼를 만드는 것을 의미합니다. jqGrid는 의 호출기 ID 만 알고 있어야합니다.. 따라서 pager 매개 변수의 값이 문자열 및 jQuery 요소가 아닌 경우 jqGrid는 요소에서 id 특성을 가져오고 pager 매개 변수의 값을 '#' + id 문자열로 수정합니다. pager 매개 변수를`pager : "#pager"형식으로 직접 사용하는 것이 좋습니다.
  • the answer의 업데이트 된 부분을 살펴 보시기 바랍니다. 여기에는 jqGrid에 오류 메시지를 전달하는 코드가 포함되어 있으며 ASP.NET MVC 2 또는 3에서 jqGrid를 사용하는 경우 CSS 문제를 수정하고 Entity Framework의 경우 데이터 페이징, 정렬 및 필터링 사용 방법을 보여줍니다. 그래서 그것은 당신에게 흥미로울 수 있습니다. 답변의 "업데이트 2"(끝 부분) 링크에서 데모 프로젝트를 다운로드 할 수 있습니다.
0

입력 해 주셔서 감사합니다.내가 실수했다고 생각해. mtype 대신 type을 호출하고 jqGrid는 지정된 URL을 사용하지 않았습니다. 일단 내가 그것을 고쳤다, 지금은 잘 작동합니다.

imgpath 및 호출기 btw에 대한 포인터를 보내 주셔서 감사합니다. 감사합니다