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

下载FastReport.Net最新版本

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

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

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

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

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

为矩阵创建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的标题。然后我们按顺序插入数据:城市,名称和电话。而且,我们需要传输数据行号以插入当前数据记录中的姓氏。 现在运行报表:

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

原文地址:https://www.cnblogs.com/wxchuachua/p/9829047.html

时间: 2024-12-30 00:01:36

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

R语言为数据框添加列名或行名

1.添加列名 wts=c(1,1,1) names(wts)=c("setosa","versicolor","virginica") 2.为矩阵添加列名和行名 wts=matrix(0,3,4) row=c("row1","row2","row3") column=c("setosa","versicolor","virginica&q

织梦联动枚举字段添加一级分类如果超过132个自动变成二级修复教程

织梦联动枚举字段添加一级分类如果超过132个自动变成二级 那是因为联动枚举数据表中的disorder字段类型长度不够引起的 解决教程 后台-SQL命令行工具-执行下面这句 ALTER TABLE `#@_sys_enum` CHANGE `disorder` `disorder` MEDIUMINT( 8 ) UNSIGNED NOT NULL DEFAULT '0' 原文地址:https://www.cnblogs.com/dedevip/p/9902148.html

top100的数据中添加序号字段

方法一,用row_number 分组为1,在组内编号排序. 代码 select row_num(a.num) num,       event_query,       search_numfrom(select  '1'  as num,        event_query,        search_numfrom    (        SELECT event_query            ,count(1) AS search_num           FROM defaul

mysql 向字段添加数据或者删除数据

1 UPDATE table SET cids = CONCAT(cids , ',12') where id=id //向字段添加数据 2 //因为要用逗号分隔 所以在在前面加了一个逗号 3 4 UPDATE table SET cids = replace(cids , ',12' , '') where id=id //从字段中删除数据 5 //只要把想要删除的数据替换为空就可以了 原文地址:https://www.cnblogs.com/milletHandsome/p/12213171

Mongodb for PHP教程之数据操作

Mongodb的常用操作 参看手册,php官方的http://us2.php.net/manual/en/mongo.manual.php 也可以参看mongodb官方的教程 数据库连接 ⑴默认格式 $m = new Mongo(); //这里采用默认连接本机的27017端口,当然你也可以连接远程主机如                   192.168.0.4:27017,如果端口是27017,端口可以省略 ⑵标准连接 $m = new Mongo("mongodb://${username}

修改数据表——添加约束

比如,原来数据表根本就没有约束,或者说,约束不够.那么如何来添加约束呢? 添加约束 1.添加主键约束(只能一个) 2.添加唯一约束(可以多个) 3.添加外键约束() 4.添加默认约束() 现在,先创建 create table user2( username varchaer(10) not null , pid smallint unsigned ); show columns from user2; alter table user2 add id smallint unsigned ; s

ThinkPHP完成对数据的添加以及表单数据的收集

数据添加分两种方式,一种是数组的方式,另一种是使用AR的方式添加,其实这两种方式添加的方式是相同的,就是一个规范的不同而已,所谓AR,就是: //一个数据模型代表一张表. //一个对象代表一条数据. //一个字段代表一个对象的属性 这样也符合传统的思维习惯,下面是数据模拟添加的实例代码: $temp=D('User'); // $arr=array('id'=>11,'name'=>'add_1_xuning','password'=>md5('123456')); //下面是通过AR的

easyui datagrid 每条数据后添加操作按钮

easyui datagrid 每条数据后添加“编辑.查看.删除”按钮 1.给datagrid添加操作字段:字段值 <table class="easyui-datagrid" data-options="singleSelect:true,collapsible:true,url:'publish.json',method:'get',fit:true" style="width: 700px; height: 250px"> &l

DEDECMS栏目自定义字段添加

用到的文件: catalog_add.htm  路径:\dede\templets\ catalog_edit.htm  路径:\dede\templets\  catalog_add.php  路径:\dede\ catalog_edit.php  路径:\dede\ 1.打开数据库找到:dede_arctype表,在表的最后面添加上我们自定义的字段名称: 首先打开catalog_add.htm文件在找到一个你认为不错的地方添加我们自定义栏目的编辑框,比如下面这是我自己添加的地方(添加在了 栏