您的位置:首页 > 其它

[原创]Devexpress XtraReports 系列 2 创建表格报表

2013-08-28 09:41 316 查看

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

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

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







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

第一步,创建如上窗体,拉入控件SimpleButton,DocumentViewer,SplitContainerControl,LabelControl,TextEdit,GroupControl,简单布局我就不多说了,跟上篇一样的布局 ,详见:/article/7003000.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();
}

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

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

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





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: