2017-05-31 5 views

Répondre

1

Les données d'entrée du TreeGrid peuvent contenir icon propriété avec le nom de classe, qui spécifient l'icône de la feuille d'arbre. La valeur des propriétés de noeud doit contenir deux classes: une pour le noeud étendu et une de plus pour le noeud réduit. Par exemple

[ 
    { ... 
     level: "0", parent: "null", isLeaf: false, expanded: true, loaded: true, 
     icon: "ui-icon-folder-open,ui-icon-folder-collapsed" }, 
    { ... 
     level: "1", parent: "1", isLeaf: true, expanded: false, loaded: true, 
     icon: "ui-icon-flag" }, 
    { ... 
     level: "2", parent: "2", isLeaf: true, expanded: false, loaded: true, 
     icon: "ui-icon-star" }, 
    ... 
] 

La démo https://jsfiddle.net/OlegKi/4svafpub/3/ démontre la TreeGrid, qui affiche

enter image description here

Vous ne posté aucun détail ce que vous faites. Aucune version de jqGrid, que vous utilisez, aucune information sur la fourche de jqGrid (free jqGrid, commercial Guriddo jqGrid JS ou un ancien jqGrid dans la version < = 4.7). On ne sait pas quel framework CSS vous utilisez: jQuery UI ou Bootstrap et quel jeu d'icônes (icônes jQuery UI, Font Awesome 4.x, icônes glyphes de Bootstrap ...). La mise en œuvre exacte de vos exigences dépendra de l'information. De toute façon, vous devrez choisir les classes d'icônes à partir de l'ensemble d'icônes que vous utilisez ou vous aurez besoin de définir des classes CSS personnalisées, que vous utiliserez pour les nœuds TreeGrid et leafs, et pour définir des règles CSS qui spécifient toutes les Propriétés CSS: background-image, background-position et ainsi de suite. Comme résultat, vous pourrez afficher n'importe quelle icône dont vous avez besoin.

MIS À JOUR: Il me semble que icon sera utilisé uniquement pour leafs, pas pour les nœuds comme il est décrit ci-dessus.

MISE À JOUR 2: J'ai fait quelques changements dans le code de jqGrid libre et maintenant on peut spécifier les icônes pour les nœuds de TreeGrid. Le même code avec la version mise à jour gratuite jqGrid affiche enter image description here

Voir la démo https://jsfiddle.net/OlegKi/4svafpub/4/

+0

J'utilise jqGrid libre, et la version est 4.5.2. Je prévois utiliser les icônes de l'interface utilisateur jQuery. Et j'ai essayé de suivre votre démo. Je pense que cela peut répondre à l'exigence actuelle. Merci beaucoup ~ – Lisa

+0

@Lisa: Vous êtes les bienvenus! "free jqGrid" est le nom sur le produit. "jqGrid" n'existe que jusqu'à la version 4.7. Après que Tony Tomov a changé le nom du produit, qu'il a développé à "Guriddo jqGrid JS" (voir [ici] (http://www.trirand.com/blog/?p=1438)), a changé le contrat de licence et fait le produit commercial (voir les prix [ici] (http://guriddo.net/?page_id=103334)). Après cela, j'ai commencé à développer la branche de jqGrid sous le nom ["free jqGrid"] (http://guriddo.net/?page_id=103334). Ainsi, vous utilisez actuellement la version rétro (4 ans) du produit, qui n'existe pas et n'est pas supporté. – Oleg

+0

@Lisa: Je vous recommande de mettre à jour gratuitement vers jqGrid 4.14.1 qui a beaucoup de nouvelles fonctionnalités, des corrections de bugs et des améliorations de performances. C'est compatible avec jqGrid 4.5.2. Vous pouvez charger des fichiers jqGrid gratuits directement à partir de CDN (voir [l'article wiki] (https://github.com/free-jqgrid/jqGrid/wiki/Access-free-jqGrid-from-different-CDNs)). Je vous recommande de lire [l'article] (https://free-jqgrid.github.io/getting-started/index.html) en plus. – Oleg