Detener columnas redimensionables en jqgrid

¿Cómo puedo hacer que todas las columnas de jqgrid no sean redimensionables? Actualmente creo que en cada columna debo especificar la propiedad {resizable: false}. ¿Hay alguna forma de especificar para toda la grilla?

Comenzando con la versión 3.8.2, jqGrid admite una característica muy útil: plantillas de columna . (Probablemente no sea del todo correcto para mí elogiar la función porque la característica fue presentada por mi propia sugerencia :-)). La característica aún no está realmente documentada, pero se puede usar muy fácilmente.

Lo explico en un ejemplo. Si define el parámetro adicional jqGrid

cmTemplate:{resizable:false} 

entonces tu problema será resuelto

Si tiene más propiedades que son comunes en todas las columnas de elementos colModel , por ejemplo align:'center' la cmTemplate le ayudará (cmTemplate: {resizable: false, align: ‘center’}). En jqGrid 3.8.2 hubo un pequeño error en la prioridad de la configuración de la plantilla relativa a la configuración de colModel , pero el error se corrigió en jqGrid 4.0.0. Por lo tanto, las propiedades de cmTemplate se pueden interpretar como valores predeterminados para los elementos colModel .

Una versión más de la plantilla de columna jqGrid de uso tiene el siguiente formato:

 var myDateTemplate = {sorttype:'date', formatter:'date', formatoptions: {newformat:'m/d/Y'}, datefmt: 'm/d/Y', align:'center', width:80 } $("list").jqGrid({ colModel: [ ... {name:'column1': template:myDateTemplate}, {name:'column2': template:myDateTemplate, width:90}, ... ] ... }); 

En la forma en que puede definir algunas plantillas (como myDateTemplate ) y usarlas en muchos lugares en su grilla (o gids). Con respecto a la función, puede hacer que su código sea más corto, mejor legible y fácilmente modificable.

La plantilla funciona muy bien para mí:

  { name: 'quantity_warehouse', index: 'quantity_warehouse', template: intColTemplate, width: '70' }, { name: 'status', index: 'status', align: 'left', template: stringColTemplate, width: '90' }, { name: 'snapshot_at', index: 'snapshot_at', template: dateColTemplate }, { name: 'applied_at', index: 'applied_at', template: dateColTemplate }, 

JS:

 var dateColTemplate = { align: 'left', search: true, stype: 'text', width: '70', datefmt: 'm/d/y', formatter: 'date', formatoptions: { srcformat: 'm/d/y', newformat: 'm/d/Y' }, sorttype: 'date', searchrules: { required: true, date: true }, searchoptions: { sopt: ['eq', 'ge', 'le'], dataInit: function (el) { $(el).datepicker({ changeYear: true, changeMonth: true, showButtonPanel: true }); } } }; var intColTemplate = { align: 'left', search: true, stype: 'text', searchoptions: { sopt: ['eq', 'ge', 'le']} }; var stringColTemplate = { align: 'left', search: true, stype: 'text', searchoptions: { sopt: ['bw', 'cn']} };