如何将文本框添加到 s-s-rS 项目中的现有矩阵?
Posted
技术标签:
【中文标题】如何将文本框添加到 s-s-rS 项目中的现有矩阵?【英文标题】:How can I add TextBoxes to an existing Matrix in an s-s-rS project? 【发布时间】:2016-01-12 00:10:48 【问题描述】:为什么 BIDS 项目的属性列表中出现的控件在对应的 .rdl 文件中没有表示?
让我退后一点;我有一段时间试图弄清楚如何通过 XML(.rdl 被视为代码)或在设计表面上将项目添加到现有报告中。我可以点击设计图面上的一个矩形,然后看到它上面的一行:
如果我单击该列标题行上的“管道”分隔段,我会在设计器中看到“MatrixColumn4”、“MatrixColumn3”、“MatrixColumn2”和“MatrixColumn1”;例如,这里是 MatrixColumn3:
但是,属性列表中一次只出现这些列中的一个 - 如果我在设计图面上选择 MatrixColumn3,则 MatrixColumn1、MatrixColumn2 和 MatrixColumn4 不存在。选择任何其他选项也是如此 - 它会暂时出现在“属性”列表中,但“隐藏”所有其他选项:
奇怪的是,当我在 .rdl 文件(被视为 XML)中搜索“MatrixColumn1”(或“2”或“3”或“4”)时,它们并不存在。事实上,整个文件中对“MatrixColumn”的唯一引用是这样的:
<Matrix Name="matrix1">
<MatrixColumns>
<MatrixColumn>
<Width>1.67609in</Width>
</MatrixColumn>
</MatrixColumns>
. . .
这似乎太离奇了——那里不应该有四组<MatrixColumn></MatrixColumn>
吗?
我想添加另一个列标题,在其下方添加一个 Textbox-as-label 和一个 Textbox 以显示动态内容,但是如何在不添加另一个列标题的情况下做到这一点?或者至少为这个新列腾出空间?
我可以通过拖动或增加其 Size.Width 值来增加矩阵(“matrix1”)的宽度,但它的现有内容会随之扩展,我没有空间在其中添加 TextBox。
也许我是从一个完全错误的心理角度接近 s-s-rS,因为我看不出报告生成的内容与我在设计表面和 XML 中看到的内容之间有什么联系。
【问题讨论】:
如果你能提供帮助,我强烈建议不要使用 xml。从您的问题中我不清楚您想要的输出是什么?您想在单个列标题下显示 2 列数据吗?您只想在矩阵/tablix 中添加另一列吗?请提供建议,我们可以尝试进一步提供帮助 @Jonnus:XML 似乎比设计界面更容易使用; XML 令人困惑,但设计表面却是令人沮丧的。我想要做的是添加另一列(列标题上的标签和下面有重复数据值的文本框)。 【参考方案1】:要向矩阵添加另一列,请右键单击列标题并选择插入列。然后选择组内(左或右)或组外(左或右)。
在组内创建的列将针对列组中的每个项目重复 在组外创建的列只会出现在分组列的左侧或右侧一次。您确定您指的是矩阵(动态列和行)而不是 tablix(仅动态行数)吗?
tablixes 的过程与上述矩阵的过程相同,只是没有内部/外部组选项。
上述任何一种方法都将包括一个带有单个文本框的新列,用于标记该列,并在其下方放置另一个文本框以放入详细信息。
您还可以通过将“报表数据”面板中的数据集中的字段拖动到现有表中的适当位置来执行此过程。
如果这有帮助,或者我误解了您的问题并且您需要不同的解决方案,请告诉我。
【讨论】:
当我右键单击列标题(“MatrixColumnN”)时,上下文菜单项只有“添加列组”、“添加行组”和“属性”——没有“插入列” “... 你使用的是什么开发环境(图片看起来像VS2008的BIDS) "您确定您指的是矩阵(动态列和行)而不是 tablix(仅动态行数)吗?"不,我完全不确定。这对我来说都是全新的。我正在从 Web API / Excel 互操作工作中“休息”,我现在非常想念它。 这是VS2005。我在 VS2008 中也有它(截至今天早上,但看不到设计表面 - 2-单击 .rdl 文件仅打开 XML 视图,而不是 VS2008 中的“表单”视图... “您还可以通过将“报表数据”面板中的数据集中的字段拖到现有表中的适当位置来执行此过程。我需要添加的列是计算列 - 它不是数据集的字段之一,而是通过对其中几个值执行一些数学计算得出的值。以上是关于如何将文本框添加到 s-s-rS 项目中的现有矩阵?的主要内容,如果未能解决你的问题,请参考以下文章