Question

Je vais avoir un peu de temps à essayer d'obtenir des grilles Dojo (1.5) pour jouer agréable. Plus précisément, j'ai passé environ deux semaines de travail en essayant de mettre en place une grille qui permet à nos données de jeu de résultat à l'effondrement en lignes, où les lignes peuvent être étendues. Les données proviennent en tant qu'ensemble complet au format JSON, en utilisant ItemFileReadStore comme le magasin. Toutes les sortes ou paginations suivantes sont gérées par Geting une nouvelle JSON de l'application, et en passant dans les nouveaux paramètres de requête dans l'URL.

Les données imbriquées était seulement deux couches profondes - une couche supérieure à afficher toujours et un tableau de données de l'enfant avec une structure identique à celle de la couche supérieure. Chaque nœud a un identifiant unique et un ID de cluster -. Sur un nœud parent unique et l'ID ID cluster correspond

J'étais très excité avec TreeGrid - mais je ne pouvais pas voir comment je pouvais formater faire ce que je avais besoin - à savoir éliminer la « ligne de synthèse » et une ligne supplémentaire complète de cellules null (???) que je juste figure couldnt comment enlever à moins que je concentrais la requête à un seul cluster. J'ai étudié les exemples de test, construit de nombreuses pages de test moi-même, essayé de comprendre la forestModel, qui, pour ce que je pouvais dire était inutile ... Je trouvais si peu de documentation, et les sources que j'ai trouvé en ligne a laissé entendre que TreeGrid pourrait ne pas être fiable ...

Je décidé que je voudrais essayer de mettre en œuvre les lignes extensibles / rétractables dans dataGrid.

I aplatit les données JSON et ajouté un autre attribut pour indiquer étant un noeud de niveau supérieur ( « alwaysShow » = vrai). J'ai construit ma grille programaticaly et appliqué grid.filter () pour tirer uniquement les nœuds de niveau supérieur. I modifié qui filtre par extension de la méthode ItemFileReadStore _FetchItems « __gVirt_NP_NN_NNPS<__ filtre » pour permettre OU interrogation au lieu d'AND, et également modifié pour tenir compte de touches pour pointer vers des tableaux - quand un noeud de niveau supérieur (petit +/- icône dans la cellule) est cliqué, l'ID de groupe du noeud parent est ajouté à la grid.filter.allowed [] et le filtre est mis à jour, ce qui permet que les noeuds avec la valeur CLUSTER_ID à afficher.

a bien fonctionné sur mon petit test ensemble de cinq dossiers (bien que id dire un peu slugish ...) - mais maintenant je tire ~ 900 lignes de retour de l'application, et sur le développement de grands groupes (~ 80 lignes) I je vois un flash très longue bleu et blanc sur les mises à jour du filtre. J'ai passé la plupart de ma journée à essayer de pas à travers à Firebug pour trouver où son événement, mais la logique de dojo est trop étendu. Semble se produire avant l'appel à _Grid.js defaultUpdate.

Son si mauvais que j'envisage d'essayer à nouveau avec TreeGrid. Im envisage également de faire tout cela à la main ... Im me coups de pied pour passer tellement de temps à essayer d'obtenir Dojo au travail pour commencer. Je voudrais également envisager une bibliothèque « JSON-> table avec ligne pliable » commercial si quelqu'un a des recommandations ...

Toutes les suggestions ou des idées? Familiarité avec le problème clignotant ou comment je pourrais adapter TreeGrid à mes besoins? Je suis conscient que c'est un peu une diatribe ... Un grand merci pour toute aide.
-robbie

EDIT: J'ai finalement renoncé à essayer d'obtenir Dojo à faire ce que je devais moi-même et codifiés en moins d'un jour. Pas le meilleur usage de trois semaines ...

Était-ce utile?

La solution

EDIT: Je viens de trouver une solution qui fonctionne pour moi, j'ai ajouté le CSS suivant: .dojoxGridSummaryRow {   Visibilité: effondrement } Fondamentalement, les résumés sont probablement encore créés, mais ils ne sont pas visibles, ni pris en compte dans la mise en page de table. C'est bon pour moi. Espérons que cela résoudra votre problème.

Ce ne sera pas une aide mais juste pour vous faire savoir que:

« - mais je ne voyais pas comment je pouvais formater faire ce que je avais besoin - à savoir éliminer la « ligne de synthèse » »

est très exactement la même chose que je suis en train de réaliser et n'a pas trouvé la solution même si cela ressemble à une fonctionnalité très simple ... vous permettra de savoir si je trouve une solution ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top