Saya mengalami masalah dengan benar dalam menggunakan acara dialog tutup untuk plugin/widget pemilih kolom jqGrid. Inilah yang saya miliki - Saya mulai dengan inisialisasi jqGrid dengan pemilih kolom terlampir di akhir, seperti itu
ticketsTable = tableWrap.jqGrid({
url: ... ,
datatype: ... ,
...
loadComplete: function(d) {
...
}
})
.navGrid('#ticketsList_footer', {edit:false, add:false, del:false, cloneToTop:true})
.navButtonAdd('#ticketsList_toppager', {
caption: "Columns",
title: "Reorder Columns",
id: "colButton",
onClickButton: function(){ ticketsTable.jqGrid('columnChooser'); }
});
Kemudian, dalam fungsi loadComplete (di atas) saya menemukan dialog dan melampirkan peringatan ke acara penutupannya, seperti itu.
$('#colButton').click(function(e){
setTimeout(function(){
log($( ".ui-dialog" ).length);
$( ".ui-dialog" ).bind( "dialogclose", function(event, ui) {
log('close dialog event captured!');
});
}, 500);
});
Entah kenapa peringatan itu hanya muncul ketika saya menutup dialog melalui tombol "x" di pojok. Saat saya klik "ok" atau "batal" tidak ada peringatan. Apa yang saya lewatkan?
BTW, alasan saya melakukan ini adalah karena saya perlu memperbarui ukuran tabel (setGridWidth) setelah dialog ditutup untuk menyesuaikan kolom yang ditambahkan/dihapus. Mungkin ada cara yang lebih elegan untuk melakukan itu?