Hari ini tidak banyak kemajuan,.. seharian cuma nyari gmn caranya dapetin index dari table yang sedang di tampilkan,..
akhirnya baru dapet pencerahan jam 3 tadi,..
caranya lumayan ribet,..
- pertama atribut table firstnya diubah menjadi #{processScope.rangeStart!=null ? processScope.rangeStart : bindings.EmployeesView1.rangeStart}”
- kedua tambahkan binding untuk listener dari perubahan range di tabel tersebut,… yaitu rangeChangeListener=”#{backing_TableReport.resultTable_onRangeChange}”
- buat prosedur resultTable_onRangeChange di backing_TableReport dengan isi sebagai berikut
- kemudian panggil dengan
public void resultTable_onRangeChange(RangeChangeEvent rangeChangeEvent) {
AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
afContext.getProcessScope().put(“rangeStart”, rangeChangeEvent.getNewStart());
afContext.getProcessScope().put(“rangeEnd”, rangeChangeEvent.getNewEnd());
}
int mulai,selesai;
AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
mulai = Integer.parseInt(afContext.getProcessScope().get(“rangeStart”).toString());
selesai = Integer.parseInt(afContext.getProcessScope().get(“rangeEnd”).toString());
yah selesai sudah,.. sekarang sudah bisa menampilkan report yang sesuai dengan yang ditampilkan,..
tetapi masih ada satu masalah, setelah show all row dan kemudian meng-klik tombol back maka otomatis hanya menampilkan row ke 1 sampai row ke 10 tetapi rangeEnd nya belum berubah, jadi jika langsung ‘make report’ lg, hasilnya akan sama dengan mencetak seluruh isi row,..