2010-11-11 25 views
2

Je crée des rapports à l'aide de sources de données d'objet.Vb.net 2010 Lecture des sous-propriétés d'un objet dans reportViewer

Je le scénario suivant:

dans mon logiciel, l'utilisateur peut créer une liste de produits spécifiant un code , le nom du produit , le prix et le taux de cuve (ce dernier deux attributs seront utilisés comme suggestions lorsque l'utilisateur placera le produit dans une commande). Lorsqu'un utilisateur crée une commande, il peut y placer des produits en spécifiant pour chaque produit la quantité et il peut également remplacer le prix suggéré et le taux de TVA.

j'ai donc essentiellement deux modèles pour représenter les produits:

  • ProductModel (utilisé pour définir le nom du produit, le code produit et la suggestion par défaut pour le prix et le taux de TVA)
  • OrderProductModel (utilisé pour placer des produits dans une commande, spécifier la quantité et remplacer la suggestion de produit par défaut pour le prix et le numéro de TVA)

ProductModel:

  • id
  • Code
  • Nom
  • prix
  • cuve

OrderProductModel:

  • id
  • ordre (référence à un objet OrderModel)
  • produit (référence à un ProductModel pour lire le code et le nom et les suggestions pour le prix et le taux de TVA)
  • quantité
  • prix
  • cuve

maintenant ce que je dois faire mon rapport est de remplir un tableau d'objets OrderProduct et afficher les informations suivantes pour chaque produit:

  • code (orderProduct.product.code)
  • nom (orderProduct.product.name)
  • prix (orderProduct.price)
  • quantité
  • (orderProduct.quantité)

(supposons orderProduct est une instance de OrderProductModel)

Maintenant, la question est "comment définir la règle du rapport à l'accès au code et le nom?" ...

I suis en utilisant Visual studio 2010 et en lisant ici: http://www.gotreportviewer.com/objectdatasources/index.html ils dit que la syntaxe: =Fields!Object.Value.attribute ne fonctionne plus ...

J'pensais me résoudre le problème en ajoutant à l'ordre ProductModel certaines propriétés qui liront les propriétés de l'instance ProductModel correspondante. Mais je suis sûr qu'il ya une meilleure façon de ne pas casser le modèle ...

Répondre