2011-11-14 21 views
19

Estoy agregando filas manualmente a jqGrid usando addRowData, y el orden de estas filas debe mantenerse.jqGrid: Deshabilitar ordenación

Sin embargo, cuando se busca, todas las filas se reordenan para ordenar por la primera columna visible de la cuadrícula.

He desactivado todas las opciones de clasificación que puedo encontrar documentadas.

¿Cómo puedo evitar toda clasificación y mantener el orden de las filas en todas las páginas?

Código

código de inicialización que se utiliza:

$("#grid").jqGrid({ 
    autowidth: false, 
    cmTemplate: {sortable: false}, 
    colModel: config.gridColumnModel 
    height: 600, 
    pager: "#aggregationToolbar", 
    sortable: false, 
    shrinkToFit: false 
    url: "fetch", 
    viewrecords: false 
}); 

Los ajustes predeterminados están utilizando (anulado por las opciones en el código de inicialización anteriores):

$.extend($.jgrid.defaults, { 
    altClass: "altRow", 
    altRows: true, 
    autowidth: true, 
    cmTemplate: { 
    align: "center", 
    title: false 
    }, 
    datatype: "local", 
    gridview: true, 
    height: "auto", 
    hidegrid: false, 
    jsonReader: { 
    page: function(obj) { return 1; }, 
    records: function(obj) { return obj.length; }, 
    repeatitems: false, 
    root: "objects", 
    total: function(obj) { return 1; } 
    }, 
    loadonce: true, 
    rowList: [50, 100, 250], 
    rowNum: 100, 
    sortable: true, 
    toppager: true, 
    viewrecords: true 
}); 
+0

¿Qué valor tiene el parámetro 'sortname' de jqGrid? ¿Por qué necesitas usar 'addRowData'? ¿Qué 'datetype' usas? Es mejor si incluiste el código que usas. – Oleg

+0

"sortname" no se usa en absoluto. "addRowData" se usa debido a algún proceso posterior necesario que se requiere. El "tipo de datos" es local. –

+0

En el ejemplo de código que ha publicado, el 'tipo de datos 'no está definido, por lo que se usará' tipo de datos:'xml''. ¿Utiliza alguna configuración predeterminada? ¿Cúal? Si utiliza el tipo de datos ''local'', puede usar el parámetro' data' de jqGrid, que funciona mucho más rápido y es compatible con todas las características locales, como paginación, clasificación y filtrado. ¿Podría incluir una pequeña demostración con los datos de prueba que pueden usarse para reproducir su problema? – Oleg

Respuesta

18

Para las versiones que soportan cmTemplate, puede utilizar:

cmTemplate: { sortable: false }


cmTemplate: Define un conjunto de propiedades que anulan los valores por defecto en colModel. Por ejemplo, si desea que todas las columnas no se puedan ordenar, solo se puede especificar una propiedad en lugar de especificarla en todas las columnas en colModel

17

Dependiendo de la jqGrid versión que necesita para hacer sortable: false en cada columna específicamente + explícitamente ...

Para referencias ver here, here y here.

Cuestiones relacionadas