Question

Dans ActiveReports, comment puis-je modifier la mise en forme en fonction des valeurs dans les données du rapport?

Plus précisément, je veux montrer ou cacher les photos sur la base d'une valeur dans les données. Le rapport se lie à une liste d'objets via un ensemble à sa propriété DataSource. Ces objets ont une propriété Condition avec des valeurs « pauvres », « Normal », etc. J'ai quelques images dans le rapport qui correspondent aux différentes conditions, et je veux cacher toutes les images, sauf dans celui correspondant à la valeur.

Dois-je souscrire à l'événement Format pour la section de détail? Si oui, comment puis-je obtenir les données « record » en cours?

Était-ce utile?

La solution

Ok, je ne sais toujours pas comment obtenir l'objet de données en cours, mais j'ai découvert que vous pouvez utiliser la propriété Fields du rapport pour récupérer les valeurs de l'objet de données en cours.

Le code ci-dessous souscrit à l'événement Format de la section de détail. Fields["Condition"].Value obtient la valeur de la propriété Condition de l'objet de données en cours (qui se trouve être une valeur ENUM).

    private void detail_Format(object sender, EventArgs e)
    {
        Condition? condition = Fields["Condition"].Value as Condition?;

        conditionUnknownPicture.Visible = (condition == Condition.Unknown);
        conditionPoorPicture.Visible = (condition == Condition.Poor);
        conditionNormalPicture.Visible = (condition == Condition.Normal);
        conditionNewPicture.Visible = (condition == Condition.New);
    }

Modifier

Je l'ai appris depuis que l'accès à la collection Fields d'un événement Format est contre les règles de conception de ActiveReports, car il ne fonctionne pas dans certains cas d'angle bizarre. Je vais maintenant utiliser cette méthode à la place: http://www.datadynamics.com /forums/ShowPost.aspx?PostID=133642#133642

DataDynamics a une demande de fonctionnalité 22786 pour fournir un accès aux objets de données des événements de format.

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