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

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

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

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

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

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

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

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

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

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

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

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

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();
  }

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

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

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

[原创]Devexpress XtraReports 系列 2 创建表格报表的更多相关文章

  1. [原创]Devexpress XtraReports 系列 3 创建主从报表

    昨天写了系列的第二篇Devexpress XtraReports 系列 2 创建表格报表 . 今天我们来继续系列 3 创建主从报表 首先我们来看看最后实现的效果.Demo最后附上. 开始吧. 第一步, ...

  2. [原创]Devexpress XtraReports 系列 6 创建并排报表

    昨天我们已经介绍了如何创建交叉报表,详见:[原创]Devexpress XtraReports 系列 5 创建交叉报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...

  3. [原创]Devexpress XtraReports 系列 5 创建交叉报表

    昨天我们已经介绍了如何创建多栏报表,详见:[原创]Devexpress XtraReports 系列 4 创建多栏报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...

  4. [原创]Devexpress XtraReports 系列 8 创建Drill-Through报表

    哎,今天公司工作忙了一天,一直没有时间写写东西.所以只能昨天晚上加班写咯.苦逼啊...... 昨天发表了Devexpress XtraReports系列第七篇[原创]Devexpress XtraRe ...

  5. [原创]Devexpress XtraReports 系列 10 创建标签报表

    今天这篇是Dx Reports 基础初级系列的最后一篇了.以后如果有什么高级的应用,应该另开一个中级使用系列. 昨天发表了Devexpress XtraReports系列第九篇[原创]Devexpre ...

  6. [原创]Devexpress XtraReports 系列 4 创建多栏报表

    昨天我们完成了 [原创]Devexpress XtraReports 系列 3 创建主从报表 今天我们继续学习新的一种报表模式:多栏报表.(Demo源码,数据库最后附上) 或许很多人会问什么是多栏报表 ...

  7. [原创]Devexpress XtraReports 系列 7 创建Drill-Down(向下钻取)报表

    昨天发表了Devexpress XtraReports系列第六篇[原创]Devexpress XtraReports 系列 6 创建并排报表,今天我们继续. 今天的主题是创建Drill-Down报表. ...

  8. [原创]Devexpress XtraReports 系列 9 创建邮件合并报表

    昨天发表了Devexpress XtraReports系列第八篇[原创]Devexpress XtraReports 系列 8 创建Drill-Through报表,今天我们继续. 今天的主题是创建邮件 ...

  9. [原创]Devexpress XtraReports 系列 1 创建静态报表

    在各种管理系统中,报表是必不可少的.报表是数据最直观体现的方式之一 以前,屌丝我是微软的忠实粉丝,所以报表工具就是微软自带的RDLC... 不可否认的是RDLC的功能是非常强大的.能够满足绝大多数的要 ...

随机推荐

  1. wince6下载地址

    http://geekswithblogs.net/WindowsEmbeddedCookbook/archive/2010/08/31/installing-windows-ce-6.0-tools ...

  2. 五款好玩又好用的Linux网络测试和监控工具

    五款好玩又好用的Linux网络测试和监控工具 [51CTO精选译文]在这篇介绍几款Linux网络测试实用工具的文章中,我们使用Bandwidthd.Speedometer.Nethogs.Darkst ...

  3. PHP设计模式之装饰者模式

    <?php /* 装饰者模式动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案. */ header("Content-type:text/html; cha ...

  4. ORACLE解锁record is locked by another user

    在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,record is locked by another user ...

  5. python 包管理

    如果导入的模块和主程序在同个目录下,直接import就行了 2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__.py文件,该文件使得python解释器将子目录 ...

  6. LA 3882 And Then There Was One

    解题思路:分析要好久,懒得分析了,贴了某大牛的的分析,代码就是我自己写的. N个数排成一圈,第一次删除m,以后每k个数删除一次,求最后一被删除的数. 如果这题用链表或者数组模拟整个过程的话,时间复杂度 ...

  7. 【转】15 个用于 GitHub 的 Chrome 插件

    原文网址:http://webres.wang/15-useful-chrome-extensions-for-github/ 对于 GitHub 你了解多少呢?其实,它是一个基于 Git 托管的 W ...

  8. 配置Linux 11G R2 RAC NTP服务

    安装Oracle 11g RAC时,我们需要配置ntp服务.在使用虚拟机的情况下对于时钟同步方式的配置有很多种方式,可以使用vmware自带的时钟同步功能,也可以直接将本地的一个节点用作时间服务器.本 ...

  9. struts 中 s:iterator 使用注意事项

    后台定义类 public class Course_pj { private String _id; private String _courseid; private String _course_ ...

  10. Sde表结构分析

    原文 Sde表结构分析 今天开始想分析一下sde的表结构,希望能够弄明白sde一个要素类的每个Feature是如何存储的. 弄ArcSDE的人都知道,ArcSDE内一个要素类在关系数据库(以MS SQ ...