2010-04-12 4 views
2

J'utilise WebViewerExample comme rapport.Tri dynamique des tables sur BIRT sans javascript

Je conçois des rapports dans Eclipse à l'aide du concepteur de rapports.

J'ai une table avec plusieurs colonnes. Les données sont extraites de la base de données.

Existe-t-il un moyen facile de trier dynamiquement les tables en cliquant sur les noms d'en-tête de colonne?

J'ai essayé de passer la chaîne comme condition de tri, mais cela n'aide pas.

Des idées?

Répondre

2

Avez-vous essayé d'ajouter un ORDER BY à la requête et dix le paramétrer? Vous devrez peut-être faire des scripts vraiment légers afin de masser la requête sous-jacente au moment de l'exécution. Tout ce dont nous parlons est de faire une chaîne de remplacement sur la condition de tri dans la requête.

requête d'origine:

SELECT Col1, Col2, Col3, Col4 
FROM Table1 
WHERE Something = Something 
ORDER Col1 ASC 

Le beforeOpen événement sur l'ensemble de données:

this.queryText = this.queryText.replace("Col1", "Your new Sort Spec"); 

Cela fera l'affaire. Bonne chance!

+0

Cela ne triera pas les données en cliquant sur l'en-tête uniquement lorsque le rapport est chargé. – Rebzie

+0

Vous pouvez simplement actualiser le contrôle sur le clic d'en-tête, actualisant ainsi la requête et le tri sous-jacent. Cela implique un aller-retour à la base de données pour chaque sorte, mais cela fait le travail. Bien sûr, la meilleure façon de le faire (et beaucoup plus) est d'utiliser la visionneuse BIRT mais cela ne faisait pas partie de la question. – MystikSpiral

1

faire le tri ou paramètre de filtre dans le rapport could'nt une solution

  • BIRT iServer avec la visionneuse Web interactif ne sorte
  • j'essaie de faire moins mais chipest (juste ouvert)

donc changer le spectateur à faire le travail et non le rapport

http://dev.sonid.fr/BirtViewer/ (mettez votre souris sur tête de colonne)

1

Il existe un moyen plus simple, si vous avez un défaut.

D'abord mis en place un paramètre, comme les critères de tri, dans mon cas, je l'ai appelé «trier». Sélectionnez ensuite la table, accédez à l'onglet de tri et utilisez l'expression suivante: row [params ["sort"]. Value].

Cela va trier la table par le paramètre que vous passez. Vous devrez vous assurer que les noms de colonnes sont corrects.