XtraReports 动态报表的建立
2010-09-21 09:05
134 查看
思路:简单的报表显示最基本的无非就是数据列信息和数据源,所以在XtraReports构造函数中传入:一个要显示的数据列的信息(此例中我用字符串表示),一个数据源(此例中我传入数据表)。有了这两个基本信息就足够建立一个报表了,当然是简单点的,其他的参数可以自己添加或删减。以下是我写的构造函数代码,没有经过优化和整理的,仅供参考和学习讨论。
注意:在字段绑定数据源时,一定要用列名(string),不要使用索引形式,只有直接用列名数据才可以正常显示。
PS:如果你在一个博客名叫笨蛋EGG的163博客看到这篇文章,请不要怀疑,这篇是在163博客首发的,现在搬家转过这里来了。
/// <summary> /// 构造函数-动态建列 /// </summary> /// <param name="BaoBiaoN">报表名称</param> /// <param name="LieShu_LT">数据列数量</param> /// <param name="LieStr_LT">数据列明细</param> /// <param name="MyTable_MX">数据表</param> public XReport(string BaoBiaoN,int LieShu_LT,string LieStr_LT,DataTable MyTable_MX) { InitializeComponent(); dataSet_SJ.Tables.Add(MyTable_MX); this.DataSource = this.dataSet_SJ; this.xLabel_Name.Text = BaoBiaoN; this.xLabel_Date.Text = "打印时间:"+System.DateTime.Now; this.xLabel_CZY.Text = "操作员:"+QuanJuHanShu.UersN; string LieStr_bak=LieStr_LT; string LS_Lie; string LS_Lie_MX; XRTableCell MyTableCell_LT; XRTableRow MyTableRow_LT=new XRTableRow(); XRTable MyTable_LT = new XRTable(); ; for (int a = 0; a < LieShu_LT; a++) { if (LieStr_LT.Contains("$")) LS_Lie = LieStr_LT.Substring(0, LieStr_LT.IndexOf("$")); else LS_Lie = LieStr_LT; if (LS_Lie.Contains(",")) LS_Lie_MX = LS_Lie.Substring(LS_Lie.IndexOf(",") + 1, LS_Lie.LastIndexOf(",") - LS_Lie.IndexOf(",") - 1); else LS_Lie_MX = LS_Lie; MyTableCell_LT = new XRTableCell(); MyTableCell_LT.Name = LS_Lie_MX + "_LT"; MyTableCell_LT.Text = LS_Lie_MX; MyTableCell_LT.Borders = ((BorderSide)(BorderSide.All)); MyTableCell_LT.TextAlignment = TextAlignment.MiddleCenter; MyTableCell_LT.BackColor = Color.LemonChiffon; MyTableRow_LT.Cells.Add(MyTableCell_LT); LieStr_LT = LieStr_LT.Substring(LieStr_LT.IndexOf("$") + 1); } MyTable_LT.Size = new System.Drawing.Size(650, 28); MyTable_LT.Rows.AddRange(new XRTableRow[] {MyTableRow_LT}); this.PageHeader.Controls.AddRange(new XRControl[] {MyTable_LT}); XRBinding MyBinding_MX; MyTable_LT = new XRTable(); MyTableRow_LT = new XRTableRow(); for (int b = 0; b < LieShu_LT; b++) { MyTableCell_LT=new XRTableCell(); if (LieStr_bak.Contains("$")) LS_Lie = LieStr_bak.Substring(0, LieStr_bak.IndexOf("$")); else LS_Lie = LieStr_bak; LS_Lie_MX = LS_Lie.Substring(0,LieStr_bak.IndexOf(",")); MyTableCell_LT.Name = LS_Lie_MX; MyTableCell_LT.Borders = ((BorderSide)(BorderSide.All)); MyTableCell_LT.TextAlignment = TextAlignment.MiddleCenter; MyBinding_MX = new XRBinding(); MyBinding_MX = new XRBinding("Text", this.dataSet_SJ, dataSet_SJ.Tables["MyTab_gridView_MX"].Columns[b].ColumnName, ""); MyTableCell_LT.DataBindings.Add(MyBinding_MX); MyTableRow_LT.Cells.Add(MyTableCell_LT); LieStr_bak = LieStr_bak.Substring(LieStr_bak.IndexOf("$")+1); } MyTable_LT.Size = new Size(650,28); MyTable_LT.Rows.AddRange(new XRTableRow[] { MyTableRow_LT}); this.Detail.Controls.AddRange(new XRControl[] {MyTable_LT}); }
注意:在字段绑定数据源时,一定要用列名(string),不要使用索引形式,只有直接用列名数据才可以正常显示。
PS:如果你在一个博客名叫笨蛋EGG的163博客看到这篇文章,请不要怀疑,这篇是在163博客首发的,现在搬家转过这里来了。
相关文章推荐
- XtraReports 动态报表的建立
- 怎样利用PowerBulider的Datawindow建立中国式的动态报表
- 怎样利用PowerBulider的Datawindow建立中国式的动态报表
- DevExpress.XtraReports报表,动态设置报表布局
- DevExpress.XtraReports 如何动态运行时创建报表
- 如何实现动态指定存储过程的参数来可视化建立报表工程
- DevExpress.XtraReports报表,动态设置报表布局
- 【水晶报表之图片篇-c】 CR 11版本动态加载的另一种简单方案
- java sql编辑器 动态报表 数据库备份还原
- Velocity模板引擎实战:动态生成HTML、Word、Excel等报表
- C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法
- java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫
- 如何建立基于SSAS的Reporting Services报表,以及参数(parameters)使用
- 润乾报表动态格间运算的概念与特征总结
- 使用代码动态改变水晶报表的标题
- 使用Eclipse建立动态Web项目
- 66编程:报表的快速开发建立
- 后台动态调用报表
- 动态报表的方案二——文件方式
- 水晶报表动态设置字段宽度(包括公式文本字段)