FastReport for .Net 实例 - 主从报表读取当前记录的数据
![](http://www.csframework.com/images/article-type5.gif)
![FastReport for .Net 实例 - 主从报表读取当前记录的数据](http://www.csframework.com/images/seo/ERP%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6-1.jpg)
如图所示:
1. 条码内容取主表的单号SONO字段的值
2. pCompany_Title是自定义参数
3. M:指Master,主表,D:指Detail明细表
我们可以一次打印一张业务单据,同时可以跟据日期范围打印多张单据,通常情况下只需要在RichObject内绑定字段就行了,如:[M.CustomerName],M是主表的别名或者表名,在代码内可以自行设置的。
如果一次打印多张单据,有些地方需要定制显示报表数据,这时会带来麻烦,比如下图的条码图形是需要用代码控制的,这时我们需要知道数据源的当前记录位置,取当前记录的SONO作为条码的文本。
取当前记录代码:
C# Code:
//打印条码
void barcode_BeforePrint(object sender, EventArgs e)
{
//取当前主表数据源, 对象类型:TableDataSource
DataSourceBase ds = rptSalesContract.GetDataSource("M");
//当前记录
DataRow masterRow = ds.CurrentRow as DataRow;
//取销售订单号码:SONO
(sender as BarcodeObject).Text = ConvertEx.ToString(masterRow[tb_SO.SONO]);
}
复杂的报表会用到大量参数,如pCompany_Title是自定义参数,这时如何赋值?
FastReport for .Net 给自定义参数赋值:
C# Code:
rptSalesContract.Parameters.FindByName("pCompany_Name").Value = CommonData.CompanyInfo.NativeName;
![C/S框架网|原创精神.创造价值.打造精品](http://www.csframework.com/images/our03.gif)
扫一扫加微信
![C/S框架网作者微信](http://www.csframework.com/images/wechatcode.jpg)
![C/S框架网|原创作品.质量保障.竭诚为您服务](http://www.csframework.com/images/CS框架网提供高效优质服务.jpg)
如转载请注明出处:www.csframework.com C/S框架网
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网