【ireport】ireportがjspページに埋め込まれてからページをめくる機能、javascript激情手打版


きっと多くの人がこの問題に出会っていると思います.だから共有して、たくさんの交流をしてください.
ireportで作成したレポートはjspページに埋め込まれた後、ページをめくる機能が必要です.ページをめくる機能を書きました.
二つのパラメータが必要です
1:npageは現在読んでいるのは何ページ目ですか?
2:PageSizeはレポートの合計数ページを表しています.
この2つのパラメータは、レポートを出力する際に、npageを用いて出力ページを指定します.pageSizeは、jasperPrintのgetPages().size()を読み込むことにより取得できます.
jspには3つのdivを設定します
<div id="reportPanel" style="width:950px;"></div>        <!--       -->
<div class="dataTables_info" id="dataTable_info"></div>  <!--     “   ,   ”   -->
<div class="dataTables_paginate paging_full_numbers" id="dataTable_paginate"></div>  <!--            -->
以下はjavascriptページをめくるコードです.
if(npage>0){   
	var reportHeight = $('#reportPanel table')[0].clientHeight+250;			
	if(reportHeight<650) reportHeight=650;
	theFrame.height(reportHeight);
	$("#dataTable_info").html("  "+npage+"  ,  "+pageSize+"  ");
			
	var nextPage=parseInt(npage)+1;
	$("#dataTable_paginate").append("<a href=\"javascript:getReport(1)\" class=\"paginate_button\" id=\"dataTable_first\">  </a>");
			
	if(npage>1){
		$("#dataTable_paginate").append("<a href=\"javascript:getReport("+(npage-1)+")\" class=\"paginate_button\" id=\"dataTable_previous\">   </a>");
	}
			
	if(npage<=3){
		var showLastPage=(pageSize>=5?5:pageSize);
		for(var i=1;i<npage;i++){
			$("#dataTable_paginate").append("<a href=\"javascript:getReport("+i+")\" class=\"paginate_button\">"+i+"</a>");
		}
		$("#dataTable_paginate").append("<a class=\"paginate_active\">"+npage+"</a>");
		for(var i=nextPage;i<=showLastPage;i++){
			$("#dataTable_paginate").append("<a href=\"javascript:getReport("+i+")\" class=\"paginate_button\">"+i+"</a>");
		}
	}
	else{
		var showLastPage;
		if(pageSize-npage>=2){
			showLastPage=parseInt(npage)+2;
			for(var i=npage-2;i<npage;i++){
				$("#dataTable_paginate").append("<a href=\"javascript:getReport("+i+")\" class=\"paginate_button\">"+i+"</a>");
			}
			$("#dataTable_paginate").append("<a class=\"paginate_active\">"+npage+"</a>");
			for(var i=nextPage;i<=showLastPage;i++){
				$("#dataTable_paginate").append("<a href=\"javascript:getReport("+i+")\" class=\"paginate_button\">"+i+"</a>");
			}
		}
		else{
			showLastPage=pageSize;
			var showBeginPage=pageSize>5?pageSize-4:1;
			for(var i=showBeginPage;i<npage;i++){
				$("#dataTable_paginate").append("<a href=\"javascript:getReport("+i+")\" class=\"paginate_button\">"+i+"</a>");
			}
			$("#dataTable_paginate").append("<a class=\"paginate_active\">"+npage+"</a>");
			for(var i=nextPage;i<=showLastPage;i++){
				$("#dataTable_paginate").append("<a href=\"javascript:getReport("+i+")\" class=\"paginate_button\">"+i+"</a>");
			}
		}
	}
			
	if(npage<pageSize){
		$("#dataTable_paginate").append("<a href=\"javascript:getReport("+nextPage+")\" class=\"paginate_button\" id=\"dataTable_next\">   </a>");
	}
	$("#dataTable_paginate").append("<a href=\"javascript:getReport("+pageSize+")\" class=\"paginate_button\" id=\"dataTable_last\">  </a>");
			
}
else{	//             
	$("#dataTable_info").html("  "+npage+"  ,  "+pageSize+"  ");
}