2010-11-08 5 views
1

Nous utilisons des rapports DevExpress Xtra, mais ils ne semblent pas être en mesure de répondre à nos besoins ...rapports avec mises en page dynamiques

Je tition this question, auquel aucune bonne réponse (que je suis au courant de) existent, even from devexpress. Nous voudrions avoir un rapport que nous pouvons changer la disposition de (basé sur une certaine propriété d'un utilisateur), mais ayez la plomberie sous-jacente la même chose (par exemple la source de données, les colonnes etc., bien que avec différents paramètres fournis au rapport).

Le plus proche, je peux expliquer ce que je suis après est une approche de modèle de tri, ou imaginer l'application de différentes pages maîtres. Je ne suis pas à l'origine d'un effet de dépouillement, nos clients dictent l'ensemble de la mise en page du rapport, de sorte qu'un seul rapport pour un client peut être entièrement différent (en termes de présentation) pour un autre client. Je ne veux pas non plus maintenir de nombreux rapports - par ex. si j'ajoute une colonne, ou si je change l'événement beforePrint sur une colonne dans la partie principale du rapport, je ne veux pas devoir passer par d'autres fichiers et les changer aussi (nous pourrions avoir des centaines de layouts pour un rapport) . Est-ce que quelqu'un connaît un produit qui répondrait à nos exigences, ou peut suggérer une méthode pour réaliser ce dont nous avons besoin?

+0

Qu'est-ce que signifie que vous avec la présentation du rapport? vous signifie identité d'entreprise (polices, couleurs)? Ou paysage/portrait? Ordre de c olumns? Compte des colonnes? La disposition terminale est très peu spécifique. – Horcrux7

+0

..Tout ce qui précède. Pardon. L'orientation de la page resterait la même. –

Répondre

1

Je prendrais un coup d'œil à la Telerik rapports http://www.telerik.com/products/reporting.aspx

Les rapports ne sont que C classes # et vous pouvez modifier les rapports facilement en écrivant votre propre code dans le rapport, vous pouvez aussi, par exemple, créer une classe de base et ont tous les rapports en héritent. Je pense que vous pourriez tirer parti de ce niveau de flexibilité pour répondre à vos besoins.

+1

Bonne idée, vous pouvez faire la même chose avec XtraReports. –

2

Je me rends compte que vous avez peut-être déjà résolu ceci, mais ce que nous avons fait est de sérialiser le rapport et de l'enregistrer dans la base de données. L'utilisateur peut modifier le rapport à n'importe quelle disposition souhaitée. Quand une nouvelle colonne est ajoutée au rapport, nous mettons à jour la source de données et la colonne est maintenant disponible pour que l'utilisateur puisse l'utiliser ... s'il le souhaite. Nous ne conservons qu'une version, et cette version, si nécessaire, est sérialisée dans la base de données ou est simplement utilisée comme base (nous avons plusieurs façons d'utiliser les rapports, l'un est un rapport et l'utilisateur sélectionne la mise en page pour le rapport display (aucun n'utilise la copie système (notre copie est conservée) ou l'utilisateur peut utiliser quelque chose comme une facture où nous chargerons plusieurs rapports et les fusionnerons en 1 fichier d'impression.)

ouais, il y a beaucoup d'informations , et pas beaucoup de la manière de code, mais DevExpress est très souple, au moins de cette façon.

HTH

+0

Pas une mauvaise idée, mais nos utilisateurs ne voudront pas mettre d'effort dans leurs rapports, certains trouvent l'idée de choisir une plage de dates trop ... –

Questions connexes