Existe-t-il un moyen de rendre toutes les colonnes d'une grille NON triable autrement que d'ajouter sortable:false
à chaque colonne? Je sais que vous pouvez définir des options globales au niveau de la grille, mais vous ne savez pas si vous pouvez le faire au niveau de colModel.jqGrid - rend toutes les colonnes non triables?
4
A
Répondre
4
Il n'y a pas de paramètre global dans jqGrid qui correspond au sortable:false
du colModel
. En outre jqGrid lu directement la valeur de colModel
sans utiliser certains paramètres par défaut pour chaque élément de la colonne. Donc, vous devez définir sortable:false
dans chaque colonne de façon explicite.
De l'autre côté, vous pouvez faire ce qui suit:
// we define simplified column model without repeating of the same information
var cm = [
{name:'id', key: true},
{name:'name'},
// ...
];
// new we define "our standard" properties which will be the same in all columns
var myStdModel = {width: 150, sortable: false};
// we extend (or overwrite) "our standard" properties
for (var i=0; i<cm.length; i++) {
$.extend(cm, myStdModel);
cm.index = cm.name;
}
$("#list").jqGrid ({
colModel: cm, // we use the column model built before
// all other settings
});
En chemin, vous pouvez probablement archiver les mêmes résultats que vous voulez, mais dans l'autre sens.
6
Vous pouvez utiliser le modèle de colmodel pour atteindre cet
cmTemplate: {sortable:false}
Merci Oleg. Nous avons ajouté "sortable: false" à chaque colonne. –
@Marcus: J'ai suggéré et j'ai pu convaincre Tony d'inclure dans la prochaine version des templates jqGrid pour les colonnes de 'colModel' (voir http://www.trirand.com/blog/?page_id=393/feature-request/templates- for-columns-in-colmodel/pour plus de détails). Les sources jqGrid actuelles sur https://github.com/tonytomov/jqGrid/ incluent déjà la nouvelle fonctionnalité. Je pense que les nouvelles seront intéressantes pour vous. – Oleg
merci Oleg c'est génial !! –