Vb.net 2010在reportViewer中读取对象的子属性

时间:2010-11-11 14:00:09

标签: vb.net visual-studio-2010 object reportviewer report

我正在使用对象数据源创建一些报告。

我有以下情况:

在我的软件中,用户可以创建指定代码产品名称价格的产品列表增值税率(当用户将产品放入订单时,最后两个属性将用作建议。)

当用户创建订单时,他可以通过为每个产品指定数量来放置产品,并且他还可以覆盖建议的价格和增值税率。

所以基本上我有两个代表产品的模型:

  • ProductModel (用于定义产品名称,产品代码以及价格和增值税率的默认建议)
  • OrderProductModel (用于在订单中放置产品,指定数量并覆盖价格和增值税号的默认产品建议)

产品型号

  • ID
  • 名称
  • 大桶

OrderProductModel

  • ID
  • order(对OrderModel对象的引用)
  • 产品(引用ProductModel读取代码及名称以及价格和增值税率的建议)
  • 大桶

现在我需要对报告做的是填写OrderProduct对象表并显示每个产品的以下信息:

  • code(orderProduct.product.code)
  • name(orderProduct.product.name)
  • price(orderProduct.price)
  • quantity(orderProduct.quantity)

(假设orderProduct是OrderProductModel的一个实例)

现在问题是“如何定义报告规则以访问代码和名称?”......

我正在使用visual studio 2010并在此处阅读:http://www.gotreportviewer.com/objectdatasources/index.html 他们说语法:=Fields!Object.Value.attribute不再有效......

我认为我可以通过向OrderProductModel添加一些属性来解决问题,这些属性将读取相关ProductModel实例的属性。 但我确信有更好的方法不会破坏模型...

2 个答案:

答案 0 :(得分:1)

只是对此进行更新,现在已在SP1中修复。让它工作的要求是确保数据源属性中使用的所有类都是可序列化的。

更多信息:

http://wraithnath.blogspot.com/2011/04/reportviewer-object-datasource-nested.html

答案 1 :(得分:0)

我发现这是一个错误...... 如果您将所有对象序列化,则应在SP1中修复...

在此处阅读更多内容:http://blogs.msdn.com/b/brianhartman/archive/2010/10/27/nested-objects-in-local-mode.aspx