zoukankan      html  css  js  c++  java
  • [原创]Devexpress XtraReports 系列 2 创建表格报表

    昨天发表了Devexpress XtraReports系列开篇,今天我们继续。

    今天的主题是创建表格报表。

    首先我们来看看最后实现的效果。Demo最后附上。

    QQ截图20130827164931

    接下来开始讲解如何一步一步做出这个报表:

    第一步,创建如上窗体,拉入控件SimpleButton,DocumentViewer,SplitContainerControl,LabelControl,TextEdit,GroupControl,简单布局我就不多说了,跟上篇一样的布局 ,详见:http://www.cnblogs.com/lhmlyx2723356/p/3286101.html

    第二步,创建一个报表文件。如图:

    QQ截图20130827165321

            在报表中拉入两个XRTable控件,在ReportHeader放置一个,并修改其Text属性如上图,姓名,密码,创建时间,备注。

    在Detail区放置一个XRTable。至于对齐,字体修改,相信大家也都能找到相对应的属性去修改。

    这里要讲一下报表的隔行换色的属性设置,如图:

    选中Detail中的XRTable后,在属性窗口中根据需要设置BackColor属性。

    QQ截图20130827165734

    第三步,我们利用数据库做一张简单的表并输入一些测试值。如图:

    QQ截图20130827170140 

    第四步,数据库表,布局都做好了,接下来我们就来处理相对应的事件了。输入文本框的值,点击按钮把查询出来的数据源绑定到报表中

    a,修改报表文件的构造函数,让它在实例化的时候可以接收数据源。

    public TableRpt(DataSet ds)//修改构造函数
    {
        InitializeComponent();
        this.DataSource = ds;
        this.xrTableCell5.DataBindings.Add("Text", ds, "name");//为单元格绑定数据源中相对应的字段
        this.xrTableCell6.DataBindings.Add("Text", ds, "password");
        this.xrTableCell8.DataBindings.Add("Text", ds, "createdate");
        this.xrTableCell7.DataBindings.Add("Text", ds, "remark");
    }

    b,获取数据源

    private DataSet BindRpt()
         {
             DataSet ds = new DataSet();
             try
             {
                 SqlConnection con = new SqlConnection("Data Source=(local);Integrated Security=SSPI;Initial Catalog=ReportDeom");
                 SqlDataAdapter adapter;
                 con.Open();
                 SqlCommand cmd = new SqlCommand("SELECT * FROM TableRptData where name=@name OR @name='' ", con);
                 SqlParameter[] paras = new SqlParameter[]{
                     new SqlParameter("@name",txtName.Text.Trim())
                 };
                 cmd.Parameters.AddRange(paras);
                 adapter = new SqlDataAdapter(cmd);
                 adapter.Fill(ds, "TableRpt"); ;
                 con.Close();
             }
             catch (Exception ex)
             {
                 throw ex;
             }
             return ds;
         }

    c,单击按钮,绑定数据到报表中

    private void btnShowReport_Click(object sender, EventArgs e)
      {
          DataSet ds = BindRpt();
          TableRpt Rpt = new TableRpt(ds);
          this.documentViewer1.DocumentSource = Rpt;
          Rpt.CreateDocument();
      }

    到此,报表就表格报表就完成了。

    希望对初学者有点帮助。谢谢。

    最后又是送福利时间,哈哈。。屌丝们。。。雄起吧。。。

    u=959768571,2141457747&fm=120

  • 相关阅读:
    Openstack API 开发 快速入门
    virtualBox虚拟机到vmware虚拟机转换
    使用Blogilo 发布博客到cnblogs
    Openstack Troubleshooting
    hdoj 1051 Wooden Sticks(上升子序列个数问题)
    sdut 2430 pillars (dp)
    hdoj 1058 Humble Numbers(dp)
    uva 10815 Andy's First Dictionary(快排、字符串)
    sdut 2317 Homogeneous squares
    hdoj 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列+二分)
  • 原文地址:https://www.cnblogs.com/lhmlyx2723356/p/3286498.html
Copyright © 2011-2022 走看看