Here is the extended method to achieve this functionality.
$.extend($.fn.datagrid.methods, {
setSameColumnWidth: function (jq) {
return jq.each(function () {
const dg = $(this);
let colWidth = 0;
const fields1 = dg.datagrid('getColumnFields',true);
const fields2 = dg.datagrid('getColumnFields',false);
const fields = fields1.concat(fields2);
fields.forEach(field => {
const opt = dg.datagrid('getColumnOption', field);
if (colWidth < opt.width) {
colWidth = opt.width;
}
});
fields.forEach(field => {
const opt = dg.datagrid('getColumnOption', field);
opt.width = colWidth;
opt.boxWidth = colWidth - opt.deltaWidth;
});
dg.datagrid('fixColumnSize').datagrid('fitColumns');
})
}
})
Usage example:
$('#dg').datagrid('setSameColumnWidth')