Trus saya remote ke computer client, dan teryata tombol navigator (Next, Prev, dll) yang tidak muncul! Ada apa ini. Coba pake komputer lain dengan filter yang sama ternyata tidak keluar juga.
Gambar tampilan jasper tanpa tombol navigasi
Setelah saya coba dan amati, ternyata hal itu terjadi jika halaman yang dihasilkan adalah 2. Jika halaman yang dihasilkan lebih dari 2 maka tombol navigasi akan muncul. Berdasarkan fakta itu, maka sepertinya masalahnya di proses menampilkan report di web nya (bukan di iReport nya), jadi harus di lihat source code nya.
Code untuk proses menampilkan report ada di file DefaultJasperViewer.jsp dan saya mendapatkan:
<c:if test="${lastPageIndex > 1 or configurationBean.paginationForSinglePageReport}">
Kesalahannya adalah
${lastPageIndex > 1
padahal halamannya di mulai dari halaman 0. Jadi jika total halamannya 2, maka ${lastPageIndex} = 1
sehingga alurnya tidak masuk ke dalam "if", padahal alur ini menentukan apakah tombol navigator ditampilkan atau tidak (saat halaman hanya 1 maka tombol navigator tidak ditampilkan).Saya ganti code diatas dengan
<c:if test="${lastPageIndex > 0 or configurationBean.paginationForSinglePageReport}">
dan berhasil!Gambar tampilan jasper setelah di perbaiki
Pertanyaannya: Apakah bug seperti ini layak muncul di stable relase?
Tidak ada komentar:
Posting Komentar