您的位置:首页 > 其它

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构造函数中传入:一个要显示的数据列的信息(此例中我用字符串表示),一个数据源(此例中我传入数据表)。有了这两个基本信息就足够建立一个报表了,当然是简单点的,其他的参数可以自己添加或删减。以下是我写的构造函数代码,没有经过优化和整理的,仅供参考和学习讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: