如何去掉水晶报表的登陆框?

wdsimon 2004-07-12 09:03:30
水晶报表的数据源来自于项目中定制的dataset中的一个table
然后在调用报表的时候去填充数据集,并设置为报表的数据源
Invoice1 cr =new Invoice1();//Invoice1为报表
cr.SetDataSource(Invoice.ds.Tables[0]);
crystalReportViewer1.ReportSource = cr;
这样每次都会有一个登陆框出现,怎么才能去掉登陆框?
...全文
174 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdsimon 2004-07-13
  • 打赏
  • 举报
回复
原来是把加载水晶报表的代码写在了CrystalReportViewer1_load的事件里,改为窗体初始化事件即可!
peterli1976 2004-07-12
  • 打赏
  • 举报
回复
string connstr = "user id=sa;password=songerppass;initial catalog="+
Query.database+";data source=ERPSERVER;Connect Timeout=30";
就是用了数据库了。试试下面
using CrystalDecisions.Shared ; // 负责解释 TableLogOnInfo 类

using CrystalDecisions.CrystalReports.Engine ; // 负责解释 ReportDocument 类



private void Page_Load(object sender, System.EventArgs e)

{

TableLogOnInfo logOnInfo = new TableLogOnInfo ();

// 这里必须事先申明一个 ReportDocument 对象 Report ,同时加载数据报表

ReportDocument oRpt = new ReportDocument();

// 获取 .rpt 文件真实路径

string path;

path=Server.MapPath ("cr.rpt");

oRpt.Load (path);



// 从 web.config 中获取 logOnInfo 参数信息

string a,b,c,d;

// 获取 ServerName

a=System.Configuration.ConfigurationSettings.AppSettings ["servername"];

// 获取 DatabaseName

b=System.Configuration.ConfigurationSettings.AppSettings ["database"];

// 获取 UserId

c=System.Configuration.ConfigurationSettings.AppSettings ["userid"];

// 获取 password

d=System.Configuration.ConfigurationSettings.AppSettings ["pass"];

// 设置 logOnInfo 参数

logOnInfo.ConnectionInfo.ServerName = a;

logOnInfo.ConnectionInfo.DatabaseName = b;

logOnInfo.ConnectionInfo.UserID = c;

logOnInfo.ConnectionInfo.Password = d;



oRpt.Database .Tables [0].ApplyLogOnInfo (logOnInfo);



// 建立 .rpt 文件与 CryStalReportviewer 文件之间的连接

CrystalReportViewer1.ReportSource = oRpt;



DataBind();

}

wdsimon 2004-07-12
  • 打赏
  • 举报
回复
为什么每次都要出来一个登陆数据库的界面,我的报表按道理说与数据库没有联系啊
他是与项目中的数据集相联的
wdsimon 2004-07-12
  • 打赏
  • 举报
回复
数据集已经填充了啊:
string connstr = "user id=sa;password=songerppass;initial catalog="+
Query.database+";data source=ERPSERVER;Connect Timeout=30";
string selstr = "select * from invoice2 WHERE rtrim(通知单别)="+
"'"+db+"'"+" and rtrim(通知单号)="+"'"+dh+"'";

SqlConnection cn = new SqlConnection(connstr);
SqlCommand sd = new SqlCommand(selstr,cn);
SqlDataAdapter tt = new SqlDataAdapter();
dd ds = new dd();
tt.SelectCommand = sd;

ds.Clear();
tt.Fill(ds,"invoice2");
bitsbird 2004-07-12
  • 打赏
  • 举报
回复
CrystalReport1 nrp=new CrystalReport1();
sqlDataAdapter1.Fill(dataSet11,"basearchives");
nrp.SetDataSource(dataSet11);
this.crystalReportViewer1.ReportSource=nrp;

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧