XtraReports 动态报表的建立

   /// <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(65028);
            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构造函数中传入:一个要显示的数据列的信息(此例中我用字符串表示),一个数据源(此例中我传入数据表)。有了这两个基本信息就足够建立一个报表了,当然是简单点的,其他的参数可以自己添加或删减。以下是我写的构造函数代码,没有经过优化和整理的,仅供参考和学习讨论。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值