Problem: jqGrid with subgirds. I want to disable the expand/collapse functionality for some rows of the main grid.
I actually found a way:
grid.jqGrid('setGridParam',{
afterInsertRow: function(rowid, aData, rowelem) {
var rowData = grid.getRowData(rowid);
if(**Condition**){
$('tr#'+rowid, grid)
.children("td.sgcollapsed")
.html("")
.removeClass('ui-sgcollapsed sgcollapsed');
}
}
});
There was a bit of a problem. The code @Frank removed the icon, but the 'click' event was still triggered. Trying to unbind the 'click' event doesn't seem to work, probably because it is attached later on ( maybe on gridComplete). Anyway, I figured that the click event is attached using one of the 'ui-sgcollapsed sgcollapsed' classes, so if you remove them, the event won't be attached.
Hope it helps.
Add this to the gridConfig
afterInsertRow: function(rowid, aData, rowelem) {
// Remove the subgrid plus button except for rows that have exceptions
if (CONDITION) {
$('#' + rowid).children("td.sgcollapsed").unbind().html("");
}
},
If you are trying to disable or hide the subgrids expand and collapse button then use this on loadcomplete,
jQuery("#GridTeableID").jqGrid('hideCol', "subgrid");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With