여기
자바 스크립트 함수를 사용하여있는 jqGrid 트리를 표시하는 방법입니다.
$(document).ready(function() {
TreeDemo.setupGrid($("#tree"));
});
TreeDemo = {
data: { A: ["A1", "A2"], B: ["B1", "B2"] },
setupGrid: function(grid) {
grid.jqGrid({
colNames: ['Name'],
colModel: [
{ name: 'Name', index: 'Name', width: "250em" }
],
datatype: TreeDemo.treeData,
loadui: "none",
sortname: 'Number',
treeGrid: true,
treeGridModel: "adjacency",
sortorder: "asc"
})
},
treeData: function(postdata) {
var items = postdata.nodeid ? TreeDemo.data[postdata.nodeid] : TreeDemo.data;
var i = 0;
var rows = new Array();
for (val in items) {
var isLeaf = postdata.nodeid != undefined;
rows[i] = {
Name: val,
Id: val,
level: postdata.nodeid ? 1 : 0,
parent: postdata.nodeid || null,
isLeaf: isLeaf ? "true" : "false",
expanded: "false"
}
i++;
}
$("#tree")[0].addJSONData({
Total: 1,
Page: 1,
Records: 2,
Rows: rows
});
}
};
이 작업을 수행하는 방법에는 여러 가지 옵션이 있으며 예제는 하나뿐입니다.
- 페이지로 간단한 스크립트를 방출하는 HTML 도우미를 쓰기 :이 내가 JS의 VAR에 JSON을 얻을 것
방법 중 하나입니다.
- 어떤 이유에서든 데이터를 인라인 할 수없는 경우 파일에 데이터를 가져 오기 위해
JavaScriptResult
을 반환하는 작업을 작성하십시오.
.NET JavaScript 직렬 변환기를 사용하여 JSON을 만듭니다. 예제를 보려면 MVC 소스 코드에서 JsonResult.ExecuteResult
을보십시오.
JsonResult.ExecuteResult가 ASP.NET 응답 버퍼로 직접 출력되는 것으로 보입니다. 그래서 나는 그것을보기에서 방출되기를 바라는 순간에 그것을 불러야 만 할 것입니다. – RationalGeek
*'JsonResult.ExecuteResult'를 사용하지 마십시오. 필자는 내장 JSON 시리얼 라이저를 사용하는 예제로 사용하기 시작했습니다. 너 자신을 사용하고 문자열로 무엇이든해야한다. –