KP day 17,..

By amirmuntaha

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,..

  1. pertama atribut table firstnya diubah menjadi #{processScope.rangeStart!=null ? processScope.rangeStart : bindings.EmployeesView1.rangeStart}”
  2. kedua tambahkan binding untuk listener dari perubahan range di tabel tersebut,… yaitu rangeChangeListener=”#{backing_TableReport.resultTable_onRangeChange}”
  3. buat prosedur resultTable_onRangeChange di backing_TableReport dengan isi sebagai berikut
  4. public void resultTable_onRangeChange(RangeChangeEvent rangeChangeEvent) {
    AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
    afContext.getProcessScope().put(“rangeStart”, rangeChangeEvent.getNewStart());
    afContext.getProcessScope().put(“rangeEnd”, rangeChangeEvent.getNewEnd());
    }

  5. kemudian panggil dengan
  6. 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,..

Leave a Reply