페이지에서 사용자가 링크를 클릭하면 간단한 모달 팝업이 열립니다. 이 팝업 내에서 Kendo UI 그리드는 레코드 테이블을 표시합니다. 데이터는 ajax 호출을 통해 검색됩니다. 팝업에는 부동산이 거의 없으므로 페이지에 5 개의 레코드 만 표시하고 사용자는 검도 그리드의 페이징 기능을 사용하여 더 많은 레코드를 볼 수 있습니다. 또한 우리는 클라이언트 측에서 페이징을 구현하고 단일 아약스 호출에서 모든 레코드를 가져 오려고합니다.검도 UI 격자가 첫 번째 페이지 너머에 페이지를 표시하지 않습니다.
Ajax 호출을 통해 다섯 개 이상의 레코드를 검색하더라도 Kendo UI Grid가 다섯 개의 레코드가있는 한 페이지를 보여주는 것을 제외하면 모든 것이 잘 작동합니다.
소스 코드
은 다음과 같습니다 :showReportPopup: function (dataId) {
if (dataId.length > 0) {
$.ajax({
url: AppGlobal.rootPath() + "Report/Get?id=" + dataId,
type: "GET",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: "",
success: function (data) {
if (data.length === 0) {
} else {
// Load data into DOM & Kendo UI Grid
loadDataIntoReportPopup(data);
// Show simple modal popup
$("#report-summary-modal").modal({
maxWidth: 880,
maxHeight: AppGlobal.maxModalHeight(),
minWidth: 880,
minHeight: 250,
onShow: function (dialog) {
$("html,body").css("overflow", "hidden");
},
onClose: function (dialog) {
$("html,body").css("overflow", "auto");
$.modal.close();
},
overlayClose: false
});
}
},
complete: function() {
}
});
}
},
loadDataIntoReportPopup: function (reportData) {
// Populate various fields
// Load the kendo ui grid section
$("#viewWorksGrid").kendoGrid({
dataSource:
{
data: reportData,
schema: {
data: "works"
},
pageSize: 5,
serverPaging: false
},
pageable: true,
scrollable: true,
sortable: false,
resizable: true,
columnMenu: false,
noRecords: {
template: "No results available."
},
columns: [
{
field: "title",
title: "Title"
},
{
field: "composers",
title: "Composers"
},
{
field: "performances",
title: "Performances",
attributes: { style: "text-align:right;" },
width: 50
},
{
field: "duration",
title: "Duration",
attributes: { style: "text-align:right;" },
width: 50
}
]
}).data("kendoGrid");
},
'dojo'에서 데모를 공유 할 수 있습니까? 격자가 모달이 아닌 경우 – MUT
동일한 코드가 작동합니까? 어느 모달 플러그인을 사용하고 있습니까? – ezanker