¿Cómo puedo hacer que todas las columnas de jqgrid no se puedan redimensionar? Actualmente creo que en cada columna debo especificar la propiedad {resizable: false}. ¿Hay alguna forma de especificar para toda la grilla?Detener columnas redimensionables en jqgrid
Respuesta
Comenzando con la versión 3.8.2 jqGrid admite una característica muy útil: plantillas de columnas. (Probablemente no sea del todo correcto para mí elogiar la función porque la característica se introdujo en my own suggestion :-)). 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 jqGrid adicional
cmTemplate:{resizable:false}
entonces su problema será resuelto.
Si usted tiene más propiedades que son comunes en todas las columnas de colModel
artículos, por ejemplo align:'center'
la cmTemplate
le ayudará también (cmTemplate: {tamaño variable: falsa, alinee: 'centro'}). En jqGrid 3.8.2 era pequeño bug en prioridad de la configuración de la plantilla relativa a la configuración desde 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 colModel
elementos.
Una versión más del uso de plantilla de la columna jqGrid es en la forma:
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 el camino se puede definir algunas plantillas (como myDateTemplate
) y utilizar allí en muchos lugares en su rejilla (o GID). Con respecto a la función, puede hacer que su código sea más corto, mejor legible y fácilmente modificable.
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']} };
- 1. Columnas de tabla redimensionables
- 2. ¿Cómo obtengo columnas redimensionables y clasificables usando NodeView?
- 3. Columna oculta del selector de columnas jQGrid
- 4. jQgrid: encabezados de fila de columnas múltiples
- 5. ¿Cómo hacer paneles redimensionables?
- 6. Chrome: hacer textareas no redimensionables
- 7. jqGrid: ¿hay un evento para cuando las columnas se reordenan?
- 8. columna jqGrid no alineado con los encabezados de las columnas
- 9. ¿Cómo puedo agregar ordenación de múltiples columnas a jqgrid?
- 10. Hacer ItemsControl childs redimensionables con un divisor
- 11. Deshabilitar la ordenación en jqGrid
- 12. jqGrid sin encabezado
- 13. jqGrid agregar nueva columna
- 14. Cómo ocultar columnas en jQgrid pero mostrar esta columna en el panel Agregar/editar
- 15. agregación personalizada/agrupación en jqGrid
- 16. ¿Cambiar rowId en jqgrid?
- 17. Establecer página en jqgrid
- 18. de validación en jqGrid
- 19. ¿Es posible detener la selección de jqGrid fila (s) y/o resaltar?
- 20. envoltura larga de texto jqgrid
- 21. cuadrícula de recarga jqGrid
- 22. JQGrid - Multiselect
- 23. JQGrid set caption and column name
- 24. jqGrid opción de selección dinámica
- 25. jQuery cargando datos en jqGrid
- 26. columna de imagen en jqGrid?
- 27. Eliminar líneas verticales en jqGrid
- 28. Wordwrap de columna en JQGrid
- 29. ¿Filtro jqGrid programmatically en cliente?
- 30. jqGrid orden de clasificación predeterminado?
usted es realmente grande en jqGrid. Voy a probar y ver cómo funcionan las cosas, antes de eso voy a actualizar jqgrid de 3.8.2 a 4.0. – VJAI
No puedo actualizar con éxito :(frente a muchos problemas aquí y allá. ¿Hay alguna manera de que podamos hacer esto en 3.8.2? – VJAI
@Vijaya Anand: escribí en mi respuesta que las plantillas de columna ya están soportadas en jqGrid 3.8 .2. Así que puedes simplemente agregar el parámetro 'cmTemplate: {resizable: false}' en tu grilla actual, tu problema debe ser resuelto. – Oleg