XtraReports 动态报表的建立
2008-05-09 16:39
169 查看
/**//// <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});
}
思路:简单的报表显示最基本的无非就是数据列信息和数据源,所以在XtraReports构造函数中传入:一个要显示的数据列的信息(此例中我用字符串表示),一个数据源(此例中我传入数据表)。有了这两个基本信息就足够建立一个报表了,当然是简单点的,其他的参数可以自己添加或删减。以下是我写的构造函数代码,没有经过优化和整理的,仅供参考和学习讨论。
相关文章推荐
- XtraReports 动态报表的建立
- 如何实现动态指定存储过程的参数来可视化建立报表工程
- DevExpress.XtraReports报表,动态设置报表布局
- DevExpress.XtraReports 如何动态运行时创建报表
- 怎样利用PowerBulider的Datawindow建立中国式的动态报表
- 怎样利用PowerBulider的Datawindow建立中国式的动态报表
- DevExpress.XtraReports报表,动态设置报表布局
- C# 动态生成RDLC报表文件
- 动态水晶报表:任意表,任意列,以及动态格线
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- VB2005如何设计带动态输出参数字段的水晶报表
- C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
- 二叉树的建立,从动态二叉链表转化为静态二叉链表
- 润乾报表中如何动态的打开不同的XML数据集
- 动态建立二维数组
- 水晶报表动态设置字段宽度(包括公式文本字段)
- 润乾报表学习五:设置预警条件,增加动态背景色
- java sql编辑器 动态报表 数据库备份还原
- ActiveReports 报表应用教程 (8)---交互式报表之动态过滤
- 如何在水晶报表中动态添加字段