您的位置:首页 > 编程语言

水晶报表关键代码

2010-07-15 09:36 211 查看
水晶报表使用关键代码!
以下四步为关键
/按日统计,加载日报表
path = Application.StartupPath + @"/RPT/Yyph/ReportYyph.rpt";
//设置水晶报表的步骤
ReportDocument doc = new ReportDocument();
//加载报表
doc.Load(path);
//加载数据源
doc.SetDataSource(dt);
//设置数据源
crystalReportViewer1.ReportSource = doc;
crystalReportViewer1.Zoom(2); //设置报表以界面比例显示出来 就没有滚动条 为1的话就是横着没有滚动条

一.sql语句中没有使用表的相互关联(简单的查询语句)
设计一个DataSet
1) 右击“解决方案浏览器”,选择“添加”--“添加新项”-->“数据集”
2) 从“服务器资源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS数据库中)
3) 此时在数据集中就会有一个Stores表的结构图。xsd文件中仅仅包含一个结构图,但是不会有任何数据在里面
创建一个.rpt文件crystalreport1.rpt同时将其指定给上一步建立的DataSet。
4) 使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。
5)建立.rpt文件之后,右击“详细资料”-->"添加/删除数据库“
6) 在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“ADO.Net数据集”--"DataSet1“,选择”Stores“表。
7) 将”Stores"表添加到“选定的表”中,点击“OK”
8) 建立一个WebForm1.aspx 拖入一个Crystal Report Viewer 控件
9)WebForm1.aspx.cs
ReportDocument oRpt = new ReportDocument();
string RptDir="f://bbs//test//crystal//crystalreport2.rpt";
oRpt.Load(RptDir);

...//根据sql语句得到DataSet 这个就不多说了

oRpt.SetDataSource(ds);
CrystalReportViewer1.ReportSource=oRpt;

//注意push模式用不到设置logOnInfo参数

10)运行试试看!应该没问题哦

如何去掉水晶报表左上角的 Main Report 字样

一下是方法
private void SetReportName(CrystalReportViewer CrystalReportViewer1, string newName)
{
foreach (Control control in CrystalReportViewer1.Controls)
if (control is CrystalDecisions.Windows.Forms.PageView)
foreach (Control controlInPage in control.Controls)
if (controlInPage is TabControl)
foreach (TabPage tabPage in (controlInPage as TabControl).TabPages)
if (tabPage.Text == "Main Report")
{
tabPage.Text = newName;
return;
}
}

需要导入找个命名空间
using CrystalDecisions.Windows.Forms;

-

如何隐藏水晶报表上 main report 那一行呢 以下为这个方法

private void FormatReportViewer()
{
CrystalDecisions.Windows.Forms.PageView oPageView = new CrystalDecisions.Windows.Forms.PageView();
System.Windows.Forms.TabControl oControl = new TabControl();

foreach (object tab in crystalReportViewer1.Controls)
{
string sControl = tab.GetType().Name.ToString();
if (sControl == "StatusBar")
{
crystalReportViewer1.Controls[4].Visible = false;
}
if (sControl == "PageView")
{
oPageView =
(CrystalDecisions.Windows.Forms.PageView)(tab);
oControl = (TabControl)(oPageView.Controls[0]);
oControl.ItemSize = new Size(0, 1);
oControl.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
oControl.Appearance = System.Windows.Forms.TabAppearance.Buttons;
}
}
}

-

如何给水晶报表的文本赋值
下面是代码

private void SetReportName(ReportDocument doc, CrystalReportViewer CrystalReportViewer1, string newName)
{

CrystalDecisions.CrystalReports.Engine.TextObject xtext;

xtext = (CrystalDecisions.CrystalReports.Engine.TextObject)doc.ReportDefinition.ReportObjects["txttimeprint"];

xtext.Text = newName;

crystalReportViewer1.RefreshReport();

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