我有一个有子集合的对象:
class Person
{
public string Name { get; set; }
public ICollection<PhoneNumber> PhoneNumbers { get; set; }
}
class PhoneNumber
{
public string Name { get; set; }
public string Number { get; set; }
}
这些电话号码的数量可能会有很大差异。我需要最后得到的表格:
---------------------------------
| John Doe | Home: +1-800-666 |
| | Work: +1-800-777 |
---------------------------------
| Homer Si | Home: +1-800-111 |
| | Work: +1-800-222 |
| | Mobile: +1-800-333 |
---------------------------------
(我希望很明显哪些字段在上图中) 我可以按照自己的意愿重写数据类。我需要保留格式(我的意思是电话号码必须在一行上对齐,如上所示)。
问题是 - 最好的方法是什么?我的主要限制是我不能为报告编写任何代码隐藏。我只能使用报告XML(如果需要,可以使用子报告,但要记住 - 没有代码隐藏)。
是否可能?
PS我正在使用2008年本地报道
答案 0 :(得分:0)
好吧,我们并没有找到问题的解决方案,但我可以这样说:我们基本上最终提供了类似SQL的结构作为数据查询的结果。因为这是报告服务所希望的方式。
相信我 - 只是放弃尝试在报告中实现一些自定义功能。只是停止挣扎并使用默认方法。
正如我所提到的,我们使用类似SQL的JOIN来获得所需的格式。从提供者返回的数据现在采用以下形式:
______________________________________
|PersonName | PhoneType | PhoneNumber|
|___________|___________|____________|
|John Doe | Home | +123456 |
|John Doe | Work | +098765 |
|___________|___________|____________|
|Homer S. | Mobile | +654432 |
|Homer S. | Home | +654431 |
|Homer S. | Work | +654433 |
|___________|___________|____________|
我们只是将Personl上的Tablix分组,以便在报告中看起来像这样:
______________________________________
|PersonName | PhoneType | PhoneNumber|
|___________|___________|____________|
|John Doe | Home | +123456 |
| | Work | +098765 |
|___________|___________|____________|
|Homer S. | Mobile | +654432 |
| | Home | +654431 |
| | Work | +654433 |
|___________|___________|____________|
就是这样。