일부 블로그에서 제공하는 샘플을 사용하여 jQuery Grid를 내 응용 프로그램 (C# 및 Asp.net)에 추가하려고하는데, Webservice에서 전송 한 Json 데이터를 사용할 수 있습니다. 이제 Grid에 페이지 매김을 추가하려고 시도했습니다. 스크립트는 이와 같습니다.JqGrid 용 페이징 추가
<script type="text/javascript">
$(function() {
$("#table").jqGrid({
datatype: function (pdata) { getData(pdata); },
height: 250,
colNames: ['ID', 'First Name', 'Last Name'],
colModel: [
{ name: 'ID', width: 60, sortable: false },
{ name: 'FirstName', width: 200, sortable: false },
{ name: 'LastName', width: 200, sortable: false }
],
imgpath: '<%= ResolveClientUrl("styles/redmon/images") %>',
pager: jQuery('#pager'),
rowNum: 2,
rowList: [2, 5, 10, 50, 100, 200, 500, 1000],
height: "100%",
viewrecords: true,
scrollOffset: 0,
caption: 'Sample'
});
});
function getData(pData) {
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: '<%= ResolveClientUrl("~/WebService.asmx/GetListOfPersons") %>',
data: '{}',
dataType: "json",
success: function (data, textStatus) {
if (textStatus == "success")
ReceivedClientData(JSON.parse(getMain(data)).rows);
},
error: function (data, textStatus) {
alert('An error has occured retrieving data!');
}
});
}
function ReceivedClientData(data) {
var thegrid = $("#table");
thegrid.clearGridData();
for (var i = 0; i < data.length; i++)
thegrid.addRowData(i + 1, data[i]);
}
function getMain(dObj) {
if (dObj.hasOwnProperty('d'))
return dObj.d;
else
return dObj;
}
</script>
... HTML 블록
<table id="table" cellpadding="0" cellspacing="0">
</table>
<div id="pager" class="scroll" style="text-align:center;"></div>
호출기 사업부가 표시 부착하지만, 밤은 작업 내가 뭔가를 놓친 거지인가?
감사 사무엘
안녕하세요, 빠른 응답을 보내 주셔서 감사합니다. 예 버전 3.5를 사용하고있었습니다. 두 버전의 차이점을 설명하기 위해 1 부. 또한 서버 측 페이지 매김에 대한 샘플 링크를 제공해 주시겠습니까? –
@ Samuel : 어떤 식 으로든 저는 jqGrid의 마지막 버전 인 [download] (http://www.trirand.com/blog/?page_id=6)을 강력하게 추천합니다. 페이징 구현은 서버 측에서 사용하는 기술에 따라 다릅니다. Entity Framework, LINQ to SQL 또는'SqlDataReader' 등을 사용합니까? – Oleg
Oleg, SqlDataReader를 사용합니다. 버전 4.2를 다운로드했으며 대규모 데이터 세트에 대해 사용자가 통지 한대로 서버 측 페이징을 구현하는 일부 논리를 얻으려고합니다. –