好吧,我可能一直在谷歌搜索错误的搜索条件,但我找不到如何使用RDLC制作MS-Access风格的带状报告(这是Visual Studio 2010中的残缺报告设计者,而不是BIDS)带状我是指带有组头和子组头的报告 - 不是交替的颜色带。
我有一个带有List,Tablix和Matrix的工具箱,它们的行为都相同 - 我不断得到看起来像MS-Access CrossTabs的东西。我可以得到这个:
Country Population Date
---------------------------
Spain 1 million 1982
Spain 1.1 million 1983
China 1 billion 1982
China 1.2 billion 1983
我还可以在行上获取国家/地区,在列上显示年份并在中心弹出,例如交叉表,但我不想要交叉表。此外,我不想要行标题,除了相同的单元格合并之外,它们与上面的内容完全相同。
但我无法得到这个:
---------------
Spain
---------------
Population Date
1 million 1982
1.1 million 1983
---------------
China
---------------
Population Date
1 billion 1982
1.2 billion 1983
甚至可以使用RDLC吗?
更多信息 Reporting Services是Microsoft发布的服务器产品,随客户端调用Business Intelligence Development,简称BIDS。前者使用RDL,后者使用RDL(RDL是基于XML的报告语言)。我没有其中任何一个。
我有ReportViewer,它是一个可以读取RDLC(RDL的残缺子集)的ASP.NET控件,我有Visual Studio 2010,它有一个残缺的BIDS版本。 Visual Studio 2010中的工具箱有一个列表,一个Tablix和一个Matrix,它们看起来都是具有不同默认启动属性的相同控件。在MS-Access中创建名为Crosstabs的内容很容易,但是试错会产生一个带状报告,该组报告除了产生任何东西之外。
答案 0 :(得分:7)
只要我理解了所有内容,您所要求的是RDLC格式可以实现的,我执行以下步骤来获得您想要的输出:
首先,我使用您在上面提供的数据示例创建了样本数据。
CREATE TABLE [dbo].[SampleTable](
[Country] [nchar](10) NULL,
[Population] [nchar](20) NULL,
[Date] [nchar](10) NULL
) ON [PRIMARY]
GO
INSERT INTO [SampleTable]([Country],[Population],[Date])
SELECT 'Spain', '1 million', '1982'
UNION ALL SELECT 'Spain', '1.1 million', '1983'
UNION ALL SELECT 'China', '1 billion', '1982'
UNION ALL SELECT 'China', '1.2 billion', '1983'
GO
接下来,我创建了一个新的WindowsFormsApplication并添加了一个新项目“Report”(不是报告向导)
从工具箱中我添加了一个新表,然后按向导连接到之前创建的示例数据
在表格中添加了人口和数据并删除了额外的列,所以左边的内容看起来像这样:
通过右键单击行组下的(详细信息)添加组,添加组>家长小组......
对话框 - Tablix组:分组依据:国家/地区,勾选“添加组标题”
现在删除新创建的列,确保选择仅删除列而不是组
删除列标题行并在空白行中添加“国家/地区”字段(单击悬停在字段上时显示的表格图标),也可以通过右键单击合并单元格
< / LI>通过右键单击(详细信息)行组,添加总计&gt;,在两行之间添加新行前
在新行中添加行标题,应保留以下内容:
切换到Form.cs [Design],从ToolBox添加ReportViewer,选择新创建的报告
最终解决方案的预览如下
接下来的步骤是更新报告的格式