添加矩阵数据区域(VisualStudio报表设计器)

Bitget下载

注册下载Bitget下载,邀请好友,即有机会赢取 3,000 USDT

APP下载   官网注册

Bitget新闻:矩阵是数据绑定报表项,其中数据排列于列和行相交的特定数据点。矩阵提供的功能与交叉表和透视表类似。与包括一组静态列的表不同的是,矩阵的列可以是动态的。您可以定义包含静态和动态的行和列的矩阵。

展开表

注意 如果将矩阵报表导出到 Excel,则不论您如何设置可见性属性,工作表中的所有行和列都是可见的。

创建矩阵数据区域

首次创建矩阵时,矩阵显示四个单元。左上角的单元是角部单元。您可以使用角部单元显示矩阵的标签,也可以让其保留为空。右上角的单元是列标题,它可以包含作为数据分组依据的字段或表达式。左下角的单元是行标题,它也可以包含作为数据分组依据的字段或表达式。右下角的单元包含用于详细信息数据的聚合表达式。

当报表运行时,动态列标题向右扩展(如果您将矩阵的 Direction 属性设置为 RTL,则向左扩展),扩展的列数与组数相同。而动态行向页下方扩展。详细信息单元中显示的数据是基于列和行的交集的聚合。

添加矩阵

在图形设计模式下打开客户端报表定义 (.rdlc) 文件。 在工具箱中,单击**“矩阵”**。 单击报表的设计图面。

将矩阵添加到报表上后,可以通过指向矩阵的阴影边框并将它拖至新位置来移动矩阵(单击矩阵的空白区域任何位置都可以显示出阴影边框)。若要删除矩阵,请右击矩阵的任何空白区域,然后按“删除”。

如何将数据绑定到矩阵

添加矩阵之后,您可以向矩阵添加字段。在默认情况下,矩阵中的每个单元都包含一个文本框。您可以在任意一个单元中键入任意表达式,也可以将单元中的项更改为其他项(例如,将单元中的文本框更改为图像)。

若要将数据绑定到矩阵,请将**“数据源”**窗口中的字段拖至矩阵单元中。如果将字段拖至没有标题的矩阵列中的单元(例如,详细信息行),则该字段的名称将自动显示在列标题中。

展开表

注意 如果未显示出“数据源”窗口,请单击“数据”菜单中的“显示数据源”。

报表上的每个矩阵都与一个数据集相关联。如果报表只包含一个数据集,当您将矩阵放在报表上后,矩阵将自动与该数据集相关联。如果报表包含多个数据集,您必须将矩阵与正确的数据集相关联。

您可以向默认矩阵添加其他动态列和行,以按字段对数据分组。当您通过创建新的列标题或行标题来添加新的动态列时,新标题将嵌套在原来的标题中。当报表运行时,新标题将在原来的标题中重复出现。例如,嵌套的动态列或动态行可以具有包含地区字段的标题,而在该标题中,还可以有另一个包含城市字段的标题。

您可以通过将字段列表中的字段拖至矩阵上的方法来添加动态列和行。将字段拖至包含现有列标题或行标题的矩阵上后,您可以选择是将字段放在标题内还是放在标题外。报表设计器将根据将字段拖至的位置,在现有列标题的顶部或底部,或者在现有行标题的左侧或右侧,显示一个条形。例如,要创建包含现有动态列的新动态列,会将字段拖至现有列标题上,调整其位置,使条形显示在标题单元的上边框,然后放下字段。

向矩阵中添加动态列或动态行

将“数据源”窗口中的字段拖至矩阵中的列标题或行标题上。 重复步骤 1 向矩阵中添加多个动态列或动态行。 可拆分列或行,以创建其他动态列或动态行。新列或新行的位置取决于放下字段的位置。对于列,条形显示在现有单元的上方或下方;对于行,条形显示在现有单元格的左侧或右侧。

静态列和静态行

您还可以添加静态行和静态列,以显示其他详细信息数据。当您添加静态列或静态行后,报表设计器将标题一分为二,不过,在排列这两个标题时,它不会将一个标题放在另一个标题内,而是将每个详细信息单元都与包含静态标签的标题并排显示。例如,静态列或静态行可以是包含预计收入字段的详细信息单元,旁边是另一个包含实际收入字段的详细信息单元。

向矩阵中添加静态列或静态行

右击矩阵的数据、详细信息或单元,再单击**“添加列”或“添加行”**。此外,也可以将“数据源”窗口中的字段拖至已填充的数据单元上。 重复步骤 1 向矩阵中添加多个静态列或静态行。 可拆分单元,以创建其他静态列或静态行。如果通过拖动字段来添加列或行,在单元的一侧会显示一个深色线条,表示将字段放到矩阵上时其所在位置。 展开表 注意 如果矩阵只包含一个静态列或静态行,则单元没有列标题或行标题。向矩阵中添加多个静态列或静态行时,将为每个静态列或静态行创建静态标题。

添加小计

若要向矩阵添加小计,请向矩阵中的单个组添加小计。默认情况下,组没有小计。若要向组添加小计,请右击组的列标题或行标题,然后单击**“小计”**。此操作将为小计打开一个新标题。ReportViewer 控件将会计算组的小计。

在行标题的左侧或右侧显示数据

您并非只能在矩阵的一侧显示行标题。可以在列之间移动行标题,使数据列显示在行标题前面。若要执行此操作,需要修改矩阵的 GroupsBeforeRowHeaders 属性。您可以通过**“属性”窗口或“矩阵属性”对话框中的“常规”**选项卡来访问此属性。此属性的值是一个整数;例如,如果值为 2,将在显示包含行标题的列之前显示两组矩阵数据。