2012-03-06 2 views

답변

0

이상한 질문이 있으며 jsonReader에 관한 모든 것입니다. 현재의 경우

jsonReader: { 
    root: 'features', 
    repeatitems: false 
} 

을 사용하여 데이터를 읽을 수 있습니다.

enter image description here

업데이트] : 내가 이해하는 방법, 당신이 정말 원하는 것을 다시 JSON 당신을 제공하는 일부 외부 URL을 호출하는 것입니다 The demo 결과 수의 모습을 보여줍니다. 보안상의 이유로 표준 Ajax 요청을 다른 서버에 수행 할 수 없습니다 (same origin policy 참조). 다행히 서버 sampleserver1.arcgisonline.com/ArcGIS은 JSONP 요청을 지원합니다. 그래서 당신은 새로운 데모 here를 참조하십시오 다음 코드

$('#grid').jqGrid({ 
    url: 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/4/query', 
    datatype: 'jsonp', 
    postData: $.param({ 
     where: "1=1", 
     returnGeometry: false, 
     outFields: "ObjectID,NAME,STATE_NAME,CNTY_FIPS", 
     f: "json" 
    }), 
    colModel: [ 
     {name: 'ObjectID', label: 'ID', width: 60, jsonmap: 'attributes.ObjectID'}, 
     {name: 'NAME', label: 'Name', width: 150, jsonmap: 'attributes.NAME'}, 
     {name: 'STATE_NAME', label: 'State', width: 120, jsonmap: 'attributes.STATE_NAME'}, 
     {name: 'CNTY_FIPS', label: 'FIPS', width: 60, jsonmap: 'attributes.CNTY_FIPS'} 
    ], 
    toppager: true, 
    jsonReader: { 
     root: 'features', 
     repeatitems: false 
    }, 
    loadonce: true, 
    ignoreCase: true, 
    height: 'auto' 
}); 

를 사용하여 외부 데이터 그리드를 채우기 위해.

업데이트 2 : 로컬 검색/필터링을 사용하려면 위 코드를 수정해야합니다. 그것은

ajaxGridOptions: { cache: true }, 
prmNames: {search: null, nd: null, sort: null, rows: null, order: null, page: null}, 
postData: { 
    where: "1=1", 
    returnGeometry: false, 
    outFields: "ObjectID,NAME,STATE_NAME,CNTY_FIPS", 
    f: "json" 
} 

the corresponding demofilterToolbar 행실을보고 다음 매개 변수 하나가 위의보고 postData를 교체하는 것이 좋습니다.

+0

감사합니다. 제 직업은 GIS와 웹 개발에 관한 것입니다. 중요한 부분은 그리드의 지형 공간 데이터를 렌더링하는 것입니다. 제 질문은 그렇게 이상하지 않다고 생각합니다. 아마 json 리더 문서를 더 정확하게 읽어야합니다. 다시 고마워요 – user781065

+0

@ user781065 : 오신 것을 환영합니다! 내가 언급 한 것을 잊어 버렸습니다. 나는 또한 jsonmap :'attributes와 같은'jsonmap' 속성을 사용했습니다. 공식 문서는 [여기]에서 찾을 수 있습니다 (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data). [jsonReader as function] (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#jsonreader_as_function)과 관련하여 실질적으로 모든 JSON 입력을 읽을 수 있습니다. 또한'beforeProcessing' 콜백을 사용할 때 도움이되기도합니다. 문제가 해결되면 대답을 "수락 됨"으로 표시 할 수 있습니다. – Oleg

+0

Oleg, 첫 번째 게시물에서 제공 한 URL을 사용해 보셨습니까? 그리드를 사용하면 그리드는 항상 비어 있고 요청에 대한 방화 광 요청 상태는 200 OK이지만 붉은 색으로 표시됩니다 ... – user781065