FastReport for .Net 实例 - 主从报表读取当前记录的数据
作者:C/S框架网  发布日期:2011/07/18 16:41:00
  FastReport for .Net 实例 - 主从报表读取当前记录的数据

FastReport for .Net 实例 - 主从报表读取当前记录的数据


如图所示:


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框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务



如转载请注明出处:www.csframework.com C/S框架网


上一篇 下一篇