im en utilisant un jqgrid sur asp.net mvc ... j'ai une exigence spécifique .... Les données dans la grille est la liste des valeurs qui doivent être définies sur chaque ligne ... et chaque ligne a une colonne Date ... Tout en affichant la grille, je veux une couleur de ligne différente le dimanche et le samedi .. tandis que le reste des lignes sont blanches .. Comment y parvenir dans jquery jqgrid?Définir le style de ligne sur la grille de jquery
Répondre
Vous pouvez « apporter des couleurs » dans votre grille par rapport de setCell méthode de jqGrid (voir this answer à titre d'exemple) ou jQuery.addClass
, jQuery.css
(voir this et this). Vous devez le faire après le conteneur de grille est chargé, par exemple, à l'intérieur de votre gestionnaire d'événements loadComplete.
Si vous souhaitez définir le style background-color
sur la cellule, vous devez comprendre un petit problème. La classe 'ui-widget-content'
utilisée pour chaque ligne de grille définit déjà le style background-color
par background
(!!! non par background-color
). Pour avoir des effets, vous devez faire des changements du style background-color
en un des manières suivantes: 1) il suffit d'utiliser background: yellow
au lieu de background-color: yellow
(voir this). 2) supprimer la classe 'ui-widget-content' avec jQuery.removeClass('ui-widget-content')
(voir this); 3) changer le style de la ligne plus explicite comme $("#"+rowid)[0].style.backgroundColor = "yellow"
(voir this comme exemple). Choisissez les moyens que vous préférez.
@Rakesh: Vous n'avez pas commenté cette réponse. Est-ce que tu veux ça? Vous pouvez utiliser par exemple un formatage personnalisé (voir http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter) pour placer la couleur dans la colonne de date. Par exemple voir un code simple dans http://stackoverflow.com/questions/3054811/add-multiple-input-elements-in-a-custom-edit-type-field/3055626#3055626 en plus de plus complexe http: // stackoverflow.com/questions/4069471/jqgrid-setting-to-colums-cells-bg-color-wh-clicked-columnheader/4070790#4070790 – Oleg
salut, désolé pour réponse tardive .. je viens de comprendre maintenant comment faire cela. Voici ce que j'ai fait .. en utilisant la grille complète. gridComplete: function() {var ids = $ ("# liste"). getDataIDs(); pour (var i = 0; i
Rakesh