5

好的,我可能一直在用谷歌搜索错误的搜索词,但我找不到如何使用 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 发布的一种服务器产品,它附带一个客户端,称为商业智能开发某事或简称 BIDS。前者使用 RDL,后者生成 RDL(RDL 是一种基于 XML 的报告语言)。这两个我都没有。

我有 ReportViewer,它是一个 ASP.NET 控件,可以读取 RDLC(RDL 的残缺子集),我有 Visual Studio 2010,它有残缺的 BIDS 版本。Visual Studio 2010 中的工具箱有一个列表、一个 Tablix 和一个 Matrix,它们看起来都是同一个控件,具有不同的默认起始属性。在 MS-Access 中创建所谓的交叉表是毫不费力的,但是要反复试验来生成一个带状报告,而该报告往往会产生任何结果。

4

1 回答 1

7

只要我了解了所有内容,您所要求的内容可以以 RDLC 格式实现,我执行了以下步骤来获得您想要的输出:

  1. 首先,我使用您上面提供的数据示例创建了示例数据。

    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
    
  2. 接下来我创建了一个新的 WindowsFormsApplication 并添加了一个新项目“报告”(不是报告向导)

  3. 从工具箱中,我添加了一个新表,按照向导连接到先前创建的示例数据

  4. 向表中添加了人口和数据并删除了额外的列,因此您的左侧看起来像这样:

    仅详细信息 - 人口和数据

  5. 添加组,通过右键单击行组下的(详细信息),添加组>父组...

    对话框 - Tablix 组:分组方式:国家,勾选“添加组标题”

  6. 现在删除新创建的列,确保您选择只删除列而不是组

  7. 删除列标题行并在空白行中添加Country字段(单击该字段时出现的表格图标),也可以通过右键单击合并单元格

  8. 在两行之间添加一个新行,通过右键单击行组下的(详细信息),添加总计>之前

  9. 在新行中添加行标题,应该留下这样的东西:

    最终解决方案 - 布局

    最终解决方案 - 组

  10. 切换到 Form.cs [Design],从 ToolBox 中添加一个 ReportViewer,选择新创建的报表

  11. 最终解决方案预览如下

    最终解决方案 - 预览

下一步是更新报告的格式

于 2012-11-19T14:43:56.027 回答