您的位置:首页 > 其它

水晶报表的调用和获取报表中的文本值(crystalReport)

2008-01-23 16:41 423 查看
水晶报表的调用和获取报表中的文本值
1.新建窗体,然后添加crystalReportViewer。 在工具栏的crystal Reports标签中(vs2005)。
2利用下面的代码方法生成数据源(ReportData()),引用到与窗体同级目录下,作为数据源。
3添加新项CrystalReport.rpt文件,选择.net中的数据源,把引用过来的DataSet作为数据源。
4在CrystalReport.rpt中,根据要求画报表的页面,字段直接拖拽出来即可,时间,页数等添加出来,有求和操作用汇总,如果有其他需求可以写函数或公式。
5获取CrystalReport中的文本,用#region 中的代码即可实现。
6将下面的代码放到新增窗体的装载事件中。
7完成简单完成水晶报表的引用。
private void ReportData()
{
DataSet ds = Createds("select * from table");获取ds
//ds.WriteXmlSchema("NOTR100DataSetDetail.xsd")生成ds
crystalReport1 cr = new crystalReport1 ();//一定要是水晶报表
cr.SetDataSource(ds);
this.crystalReportViewer1.ReportSource = cr;

#region
CrystalDecisions.CrystalReports.Engine.TextObject tname = (TextObject)cr.Section2.ReportObjects["txtname"];
tname.Text = MainApplication.UserInfo.UserName;
CrystalDecisions.CrystalReports.Engine.TextObject tdate1 = (TextObject)cr.Section2.ReportObjects["txtarbank1"];
tdate1.Text = this.fTextPopup1.GuidValue;
CrystalDecisions.CrystalReports.Engine.TextObject tdate2 = (TextObject)cr.Section2.ReportObjects["txtarbank2"];
tdate2.Text = this.fTextPopup2.GuidValue;
CrystalDecisions.CrystalReports.Engine.TextObject tprocode = (TextObject)cr.Section2.ReportObjects["txtprocode"];
tprocode.Text = "NOTR100";
CrystalDecisions.CrystalReports.Engine.TextObject tcddis1 = (TextObject)cr.Section2.ReportObjects["txttsr1"];
tcddis1.Text = this.fDate2.Text != "" ? Convert.ToDateTime(this.Date2.Text).ToString("yy:MM:dd") : "";
CrystalDecisions.CrystalReports.Engine.TextObject tcddis2 = (TextObject)cr.Section2.ReportObjects["txttsr2"];
tcddis2.Text = this.Date1.Text != "" ? Convert.ToDateTime(this.Date1.Text).ToString("yy:MM:dd") : "";
CrystalDecisions.CrystalReports.Engine.TextObject txtdqr1 = (TextObject)cr.Section2.ReportObjects["txtdqr1"];
txtdqr1.Text = this.fDate4.Text != "" ? Convert.ToDateTime(this.Date4.Text).ToString("yy:MM:dd") : "";
CrystalDecisions.CrystalReports.Engine.TextObject txtdqr2 = (TextObject)cr.Section2.ReportObjects["txtdqr2"];
txtdqr2.Text = this.fDate3.Text != "" ? Convert.ToDateTime(this.Date3.Text).ToString("yy:MM:dd") : "";
//add by lius
#endregion
}
注:本文为入门级文章,帮助自己日后做回忆用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐