FastReport Table的使用


如果Table在DataBind中,则会自动重复遍历row,并重复打印table

 

如果DataBind中的table,包含表头/表尾等,如果每行数据都打印,显然不是想要的结果

 

解决方案,设置DataBind的datasource为none,在table的ManualBuild事件中自己手动写代码遍历打印table指定的行

 

private void Table1_ManualBuild(object sender, EventArgs e)
{ 
  // 获取数据源
  DataSourceBase mainData=Report.GetDataSource("main");
  DataSourceBase rowData = Report.GetDataSource("detail");
  
  // 添加关系映射
  Relation dataRelation=new Relation();   
  dataRelation.ParentDataSource=  mainData;
  dataRelation.ChildDataSource=      rowData;
  dataRelation.ParentColumns=new String[]{"docNo"};
  dataRelation.ChildColumns=new String[]{"docNo"};

  Report.Dictionary.AddChild(dataRelation);     
  Parameter pIndex=Report.GetParameter("rowIndex");
  
  // 初始化数据源
  rowData.Init(mainData);
  
  // 打印第一行
  table_detail.PrintRow(0);
  // PrintRow方法后必须调用 PrintColumn/PrintColumns 以打印行中的列
  table_detail.PrintColumns();
  int index=1;
  // 遍历打印数据
  while(rowData.HasMoreRows)
  {
    pIndex.Value=index;
    table_detail.PrintRow(1);
    table_detail.PrintColumns();    
    index++;
    // 移动到下一行数据
    rowData.Next();
  }
}
GarsonZhang www.yesdotnet.com

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:FastReport 分组报表(组页码)
下一篇:FastReport 日期格式化日期为空时报错,空日期处理
评论列表

发表评论

评论内容
昵称:
关联文章

FastReport Table使用
fastreport显示带[] 方括号文本或表达式
FastReport完全破解--asp.net使用签名问题
FastReport IIF语句使用
element-ui el-table不显示合计行解决办法
fastreport文本旋转竖排
sql server系统表详细说明 之 sys.tables
sql server系统表详细说明 之 sys.table_types
FastReport 分组报表(组页码)
FastReport DLL下载
依赖属性使用
附加属性使用
企业项目实战.Net Core +FastReport教程一|制作报表模板
FastReport 合并多个报表,一次打印多个rpt文件
sql server系统表详细说明 之 sys.memory_optimized_tables_internal_attributes
C# FastReport 打印送货单 侧边存根描述实现
web开发 Table增加全选
Quartz在.NET中使用
c# Quartzs定时器简单使用
C# CefSharp使用

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码