2014-11-18 2 views
3

"json"을 사용하여 db에서 데이터를 가져옵니다. 특정 열의 모든 값을 가져 오는 방법은 무엇입니까?JQGrid는 페이징과 관계없이 특정 열의 모든 값을 얻습니다.

페이징에 관계없이 "PrimarySkill"열의 모든 값/전체 값을 가져 오려고합니다.

var texts = $("#listTableSupply").jqGrid('getCol', 'PrimarySkill'); 

이 코드는 현재 "PrimarySkill"의 하위 집합 즉, 현재 페이지에있는 값만 제공합니다.

전체 설정 값을 원합니다.

enter image description here

답변

6

당신은 순수한 서버 측 그리드가 (datatype: "xml" 또는 datatype: "json"과를하고 loadonce: true를 사용하지 않는) 다음있는 jqGrid는 현재 페이지와 다른 페이지의 데이터에 대한 정보가없는 경우.

그런 다음 데이터가있는 jqGrid의 내부 _indexdata 매개 변수에 저장하는 서버가 한 번 (loadonce: true가 사용된다)에 모든 데이터를 반환 로컬 그리드 또는 원격 그리드를 사용하는 경우

. 당신이 {id:rowid, value:cellvalue} (두 번째 매개 변수로 truegetCol 같은) 다음 코드는 다음

var mydata = $grid.jqGrid("getGridParam", "data"), 
    ids = $grid.jqGrid("getGridParam", "_index"), 
    myPrimarySkillWithIds = $.map(ids, function (index, key) { 
     return { id: key, value: mydata[index].PrimarySkill }; 
    }); 

alert (JSON.stringify(myPrimarySkillWithIds)); 
+0

처럼 될 수있는 형식으로 데이터를해야하는 경우 그래서 당신은

var mydata = $("#listTableSupply").jqGrid("getGridParam", "data"), myPrimarySkill = $.map(mydata, function (item) { return item.PrimarySkill; }); alert (JSON.stringify(myPrimarySkill)); 

를 사용하여 데이터를 얻을 수 있습니다 대답은 매우 완벽하고 매우 설명적입니다. loadonce : true로 "json"의 서버에서 데이터를 가져 오는 로컬 그리드를 사용하고 있습니다. – Avijit

+0

@Avijit : 환영합니다! – Oleg

+0

@Oleg : 감사합니다. 당신의 대답은 훌륭합니다. 그러나, 나는 1 개의 질문이있다. 나는 당신의 대답 [여기] (http://stackoverflow.com/questions/5328072/can-jqgrid-support-dropdowns-in-the-toolbar-filter-fields/5329014)을 읽었다. 'getUniqueNames' 함수가 (모든 페이지에서 데이터를 가져 와서)이 작업을하고 싶다면'getUniqueNames'를 어떻게 다시 써서'columnName'을 매개 변수로 받아 들일 수 있을까요? – AnhTriet

관련 문제