【FastReport教程】将数据字段添加到矩阵行的方法

在本文中,我们将介绍创建从报表的脚本代码填充的动态矩阵的方法。

下载FastReport.Net最新版本

在本文中,我们将介绍创建从报表的脚本代码填充的动态矩阵的方法。该矩阵的特点是,除了从脚本添加的数据外,我们还将使用文本对象在报表单元格中插入数据字段。

假设您创建了一个具有可变列数的矩阵,这将根据任何条件添加,但您拥有的某些数据是不变的。他们总是被填满。将这些数据字段简单地放在矩阵中会很好,剩下的单元格应该从代码中填充。尽管矩阵数据的填充仅以两种方式提供(从代码或自动,数据字段),我们将匹配它们。

实际上,该技术非常简单。数据字段只是作为单独的文本对象插入到单元格中。但是,这还不是全部。将数据添加到报表中的矩阵时,必须添加数据集中的行号。

我们来看看这个例子。 创建报表并将矩阵添加到“Data”区域。连接数据源-来自交付的演示数据库Employees表。 矩阵模板如下所示:

FastReport

在值为2的单元格中,我们添加了一个文本对象。在其中,选择Employees.LastName字段。这正是我们上面所说的“static”字段。

FastReport

为矩阵创建AfterData事件处理程序。

private void Matrix1_AfterData(object sender, EventArgs e) { DataSourceBase rowData = Report.GetDataSource("Employees"); // we get the data source Employees. Matrix1.DataSource = rowData; // assign it to the DataSource matrix property rowData.Init(); // initialize the data source // we go through all records of the data source while (rowData.HasMoreRows) { Matrix1.Data.AddValue(new Object[] {"Phone" }, new Object[] { (string)Report.GetColumnValue("Employees.City"), (string)Report.GetColumnValue("Employees.FirstName")}, new Object[] {(string)Report.GetColumnValue("Employees.HomePhone") }, Report.GetDataSource("Employees").CurrentRowNo); // add another record rowData.Next(); //get the next record } }

从评论中可以清楚地看到,当您添加数据字符串时,我们定义了Phone的标题。然后我们按顺序插入数据:城市,名称和电话。而且,我们需要传输数据行号以插入当前数据记录中的姓氏。 现在运行报表:

FastReport

如您所见,您可以使自己更容易,而不是在报表脚本中添加所有必要的数据,而只需使用文本对象将它们放在矩阵模板中。

标签:报表.NETFastReport

来源:慧都网

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年9月19日
下一篇 2018年9月19日

相关推荐

发表回复

登录后才能评论