2

给定一个包含多行的数据集,在 .NET 控制台应用程序中,我需要为每一行生成一个关于单个页面的报告,将这些页面直接发送到打印机。

我正在尝试通过将 Microsoft Report 附加到数据集并将 TextBoxes 放置在我希望的位置来使用它。生成报告并将其发送到打印机不是问题。不幸的是,数据似乎只能以聚合形式提供——First、Sum、Last、Max 等。我无法将文本框锁定到裸字段。

一些在这里和其他网站的探索似乎可以解决这个问题,但只有当数据以表格形式呈现时。一个帖子甚至没有详细说明,“我的错误是使用文本框”

我是否使用了错误的工具来完成我想要完成的任务?

4

2 回答 2

6

我遇到了同样的问题并设法解决了它。解决方案对我来说似乎有点令人费解,所以不要引用我的“正确”方式来做到这一点,但这是我所做的:

  1. 确保为您的报告定义了数据集。
  2. 将“表格”控件添加到报表中。为了迭代数据集中的行,这似乎是必需的。
  3. 从表中删除标题行和两个默认列,以便您只剩下一行和一列。
  4. 将表格扩展到布局的宽度,并使其与“自由形式”布局所需的高度一样高。
  5. 默认情况下,表格单元格内有一个 TextBox。右键单击空表格单元格并选择“删除”以删除该文本框。
  6. 将“矩形”控件拖到空的表格单元格中。它似乎自动“停靠”到表格单元格的宽度/高度。
  7. 现在您应该能够将数据集(文本框等)中的字段拖到矩形中以生成所需的布局。

请注意,我正处于使用这种方法的早期阶段,所以我不确定我是否会碰壁……但对于使用 TextBoxes 和每个“行”之后的分页符的基本报告,它似乎是工作正常。

于 2013-05-22T15:06:58.787 回答
0

或者您尝试使用列表。在列表中,您可以根据需要排列文本框(和其他控件),并且将为记录集中的每条记录填充它们。

这对我有用。:-)

于 2016-04-07T09:48:14.743 回答