7
votes

JQGRID Désactiver la mise en évidence de la ligne

Comment pouvez-vous désactiver de manière programmative la grille de mettre en évidence une ligne lorsque vous le survolez avec votre souris? Vous cherchez à désactiver cela seulement à certains moments.


Ceci est le code de oleg qui a fonctionné: xxx


0 commentaires

3 Réponses :


0
votes

Une simple recherche Google a révélé cette source: http: //www.trirand. NET / Exemples / Apparence / Highlight_On_Hover / Default.aspx

"Par défaut, JQgrid Hightlight Ranges sur la survolte. Ceci est contrôlé par les apparences.LighLighTtrowsonHover Propriété - le réglage sur False va désactiver cela."


2 commentaires

Vu ça. N'a vu aucun exemple JavaScript de la façon de définir cet objet. Semble être contrôlé en quelque sorte par le code .NET .. ??


Étrange. On dirait une propriété du . Vous pouvez voir les apparences d'action dans le code fourni dans cette question: Stackoverflow.com/Questtions/2058692/...



24
votes

Utiliser HOVERROWS: FALSE Option .


8 commentaires

Je peux obtenir ceci pour travailler lorsque je l'ai défini dans la configuration de la grille initiale. Mais si j'essaie de régler cela après la charge initiale à l'aide de $ ("# liste"). SetGridParam ({HoverRows: true}); Le nouveau paramètre ne semble pas affecter. Essayé de recharger la grille ( $ ("# liste"). Trigger ("ReloDGrid"); ) Après avoir changé la propriété mais cela ne semblait pas fonctionner non plus. Les docs disent que cela peut être changé .. toutes les idées?


@Marcus: Vous avez raison dans la table de la page Triand.com/ jQgridwiki / doku.php? id = wiki: options . Je pense que c'est plus une erreur dans la documentation. Néanmoins, vous pouvez éteindre la planche de rangées de rangées dynamiquement une fois avec respect de $ ("# liste"). UNBIND ("MouseOver"); $ ("# Liste"). UNBIND (' Mouseout '); . Voir Démo sur OK-SOFT-GMBH.COM/JQGRID/PAGER.HTM (Cliquez sur "Désactiver les lignes de survol"). Vous ne pouvez pas facilement restaurer l'état initial. Pour restaurer cela, vous devez lier les événements une fois de plus sur les fonctions correspondantes (voir Grid.Base.js Lines 2109-2119)


@MARCUS: Regardez Github.com/tonytomov/jqgrid /blob/master/js/grid.base.js#l211 1 (lignes 2111-2121) qui sera utilisé en cas de HOVERROWS: true


Merci Oleg - vraiment j'ai besoin d'un moyen de reculer l'événement afin de s'éteindre puis de faire demi-tour ..


@MARCUS: Pourquoi ne pas simplement lier "Mouseover" et "Mouseout" à votre petit gestionnaire d'événements qui ressemble exactement aux lignes 2111-2121 de GITUB.COM/TONYTOMOV/JQGRID/BLOB/MASTER/JS/GRID.BASE.JS#L211 1 ?


@Marcus: Ok! La copie du code est si simple. J'ai modifié pour vous une fois de plus le code de ok-soft-gmbh.com/ JQGRID / PAGER.HTM Pour que l'on puisse utiliser "Désactiver des lignes de navigation" pour allumer / éteindre les planches des rangées.


Cela fonctionne bien - merci Oleg. Je vais ajouter une demande de fonctionnalité JQGrid pour ajouter cette fonctionnalité à l'API de base.


Cela fonctionne pour moi sur LoadComplete: $ (". JQGrow"). AddClass ("UI-State-Hover"). CSS ("Contexte", "Aucun! IMPORTANT");



0
votes

Je remplace actuellement le gestionnaire de mousherover existant avec une fonction intermédiaire qui appelle simplement le gestionnaire existant si la grille est activée, comme ceci: xxx

de cette façon je n'ai pas à Copiez le code d'événement JQGrid.

Je n'aime pas l'utilisation de la sourisover [0] .Handler, mais cela fonctionne pour le moment.


0 commentaires