ユーザーがリンクをクリックすると、単純なモーダルポップアップが開きます。このポップアップ内に、剣道のUIグリッドにレコードの表が表示されます。データは、ajax呼び出しによって取得されます。ポップアップには不動産がほとんどないため、ページに5つのレコードしか表示したくないため、ユーザーは剣道グリッドのページング機能を使用してさらにレコードを表示できます。また、クライアント側でページングを実装し、すべてのレコードを単一のAjax呼び出しで取得したいとします。剣道UIグリッドが最初のページを超えてページを表示しない
剣道UIグリッドは、5つ以上のレコードがajax呼び出しによって取得されても、5つのレコードで1ページを表示している点を除いて、すべて正常に動作しています。
ソースコードは以下の通りです:
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