문제

좋아, 나는 이것을 며칠 동안 조사해 왔으며 내가 무엇을 잘못하고 있는지 확실하지 않다. C#/ASP.NET 및 오픈 소스 도구와 함께 JQGRID를 사용하는 방법이있는 사람이라면 어디서 찾을 수 있는지 알려주십시오. 디버깅에 사용할 수있는 괜찮은 문서 또는 도구를 찾는 것에 대한 팁은 이것도 가장 높이 평가 될 것입니다 (JS/JQuery에 아주 익숙하지 않습니다). 기본적으로 편집 기능이 필요하므로 다른 분명한 솔루션을 간과하고 있다면 알 수 있습니다 ... 가능한 경우 ajax.net을 사용하지 않으려 고합니다.

나는 여기서 정말 명백한 것을 간과하는 것 같습니다.

다음 예에서는 JQGRID가 표시되지만 데이터가 표시되지 않습니다.

관련 JavaScript는 다음과 같습니다.

jQuery(document).ready(function(){ 
    jQuery("#role_assignment_table").jqGrid({ 
        url:'http://localhost:4034/WebSite2/PageItemHandler.asmx/GetPageItemRolesJson?id=3',
        mtype: 'GET',
        contentType: "application/json; charset=utf-8",
        datatype: "jsonstring",
        colModel:[
            {name:'Id', label:'ID', jsonmap:'Id'},
            {name:'Title', jsonmap:'Title'},
            {name:'AssignedTo', label:'Assigned To', jsonmap:'AssignedTo'},
            {name:'Assigned', jsonmap:'Assigned'},
            {name:'Due', jsonmap:'Due'},
            {name:'Completed', jsonmap:'Completed'}
        ],
        jsonReader: {
            page: "Page",
            total: "Total",
            records: "Records",
            root: "Rows",
            repeatitems: false,
            id: "Id"
        },
        rowNum:10,
        rowList:[10,20,30],
        imgpath: 'js/themes/basic/images',
        viewrecords: false,
        caption: "Role Assignments" 
    });  
});

HTML :

<table id="role_assignment_table" class="scroll" cellpadding="0" cellspacing="0" />

생성 된 JSON : JQGRID에 연결하는지 또는 JQGRID가 JSON 또는 WebMethod가 마음에 들지 않는지 확실하지 않지만 적절한 URL로 가서 JSON 결과 문자열을 얻을 때 직접 호출 할 수 있습니다.

{"Page":"1","Total":1.0,"Records":"4",
"Rows":[
{"Id":1,"Item":null,"Title":"Story Manager","AssignedTo":null,"Assigned":"\/Date(1245186733940-0500)\/","Due":"\/Date(1248383533940-0500)\/","Completed":"\/Date(1247087533940-0500)\/"},
{"Id":2,"Item":null,"Title":"Analysis","AssignedTo":null,"Assigned":"\/Date(1245186733940-0500)\/","Due":"\/Date(1248383533940-0500)\/","Completed":"\/Date(1247087533940-0500)\/"},
{"Id":3,"Item":null,"Title":"Narrative","AssignedTo":null,"Assigned":"\/Date(1245186733940-0500)\/","Due":"\/Date(1248383533940-0500)\/","Completed":"\/Date(1247087533940-0500)\/"},
{"Id":4,"Item":null,"Title":"Graphic","AssignedTo":null,"Assigned":"\/Date(1245186733940-0500)\/","Due":"\/Date(1248383533940-0500)\/","Completed":"\/Date(1247087533940-0500)\/"}
]
}

건배, 윌리엄 라일리 랜드

도움이 되었습니까?

해결책

다른 작업을 수행하기 전에 다음을 다운로드하여 설치하십시오.

http://www.fiddler2.com/fiddler2/

JQGRID 요청에 의해 JSON 데이터를 가져 오기위한 요청에 따라 요청하고 다시 전송되는 내용을 정확하게 볼 수 있습니다.

작동하는 JQGRID에 대한 코드가 있으며 여기에 다른 것이 있습니다.

datatype: "json"

당신 대신 :

datatype: "jsonstring"

나는 또한 필드가 있습니다 colNames 열 이름을 포함하는 문자열 배열입니다.

마지막으로, 나는 a pager 페이징 컨트롤을 저장하는 요소를 식별하고 div입니다.

다른 팁

ASP.NET에서 날짜는 JSON으로 직렬화됩니다 "/날짜 (진드기)/" JQGrid는 해석 할 수 없습니다. 가능한 해결책 (게시하다):

  • 그리드에 대한 커스텀 포맷터를 작성하십시오
  • 그리드로 보내는 데이터 변경 (형식으로 날짜를 문자열로 보내면)

JQGRID로 날짜 표시를 어떻게 구현했는지 알려주세요.

감사합니다.

사례 민감한 속성에주의하십시오 데이터 형식 그 의미입니다 데이터 형식 대문자로 .

나는 정확히 같은 문제가 있었다! 제가 생각해 낸 해결책은 사용자 정의 자바 스크립트 포맷터를 만드는 것입니다.

$(this).jqGrid({  
   ...
   colModel: [
      {
      name: 'SomeDate', index: 'SomeDate', width: 100, formatter: ndateFormatter }
      }],
   ...
});


// Convert C# json Date.
function ndateFormatter(cellval, opts, rwdat, _act) {
    var time = cellval.replace(/\/Date\(([0-9]*)\)\//, '$1');
    var date = new Date();
    date.setTime(time);
    return date.toDateString();
}

jqgrid가 asp.net과 함께 일하는 데 문제가있는 경우 살펴보십시오. 여기. 이것은 당신에게 많은 시간을 절약해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top