据那是net平台为了体现你编辑的报表样式而给你的预览,具体数据是根据你用报表专家选择的数据库中的数据而显示的,你可以这样理解。
1你把你的预览和将来的数据要分开考虑,因为在水晶报表里主要编辑的是格式而不是数据,也就是说,你可以在水晶报表里指定格式,同时为每个将来显示数据的部分指定字段名,具体的数据源,你可以先放一边。你可以利用自己建立的,这里关键的是你要把格式和数据源的字段名弄清楚了。
2如果你设定好了报表格式后,你可以添加一个新窗体,在里面放置一个crystalreportview控件,这个是专门用来预览水晶报表用的。
假设该预览用新窗体名称为ReportView,crystalreportview类型控件名为 CryView
主窗体名称为MainForm,打印按钮名称为 btn_Print
水晶报表名称为 CryReportrpt
则点击打印按钮后,调用ReportView窗体,代码如下
ReportView myRp= newReportView(ReportSqlStr);
myRpShowDialog();
上面的代入参数ReportSqlStr是你检索数据所用的sql语句
在ReportView的load事件里写上
ds = myConnGetData("tmpTable", tmpSql);
CryReport myrpt = new CryReport();
myrptSetDataSource(ds);
CryViewReportSource = myrpt;
CryViewRefreshReport();
以上tmpSql是从上一个窗体传过来的sql语句,ds是一个dataset
myconn是一个对象,执行tmpsql语句返回dataset,你也可以自己写。
tmpTable是一个自定义的ds里面的表名,
注意,tmptable里面的字段名必须包含报表里编辑时的所有的字段名,否则就没有数据显示,如果报表编辑时在某个位置指定了A字段,而在tmptable里没有A字段,则报表就那块地方就会空白。
具体打印和格式在CryView控件里都有,不需要另外写代码。
你的意思是不是就是填报?将数据回填进数据库?我只知道我用的FineReport有2种方式可以实现你的需求,一种就是报表填报功能,一种是表单功能,就是在设计器中设置一些控件,比如文本控件,然后设置填报属性,就是将控件单元格与数据库字段建立连接,这样用web浏览器进行填报预览的时候就可以在控件中输入值,点击提交,数据即可入库。你看看水晶是否也是如此。不过我觉得如果你是报表初学者,可以改用FineReport,比较容易上手,功能也强大,有问题还可以去“FineReport爱好者论坛”求助,很多报表高手在。
添加报表数据源,可以直接使用报表第一品牌FineReport,首先选择jdbc连接驱动,然后选择数据库:mySQL即可。水晶报表是条带状设计,不适合中国式复杂报表,应用起来相对复杂,而且没有技术支持,遇到问题不好解决,还是换成finereport吧。
将数据库中的内容显示的页面的方法:
1、链接数据库,提取所需内容;
2、将内容显示到页面;
asp下面的写法:
<%
set st = serverCreateObject("adodbrecordset")
sql = "select title from news where newsid = 10"
stopen sql,conn,1,1
responsewrite st("title");
%>
在企业管理器里导入时选择引擎,用xls,tst,csv引擎试试,导入时浏览一下,如果不是乱码的话就ok了,貌似水晶报表不能直接支持rpt的文件,如果你觉得用其他格式的引擎比较麻烦,fineReport可以支持该格式的文件,直接导入就可以了。
以上就是关于winform 水晶报表 每次都要输入数据库密码全部的内容,包括:winform 水晶报表 每次都要输入数据库密码、在水晶报表当中怎么关联内容到数据库、水晶报表 怎么连接Mysql数据库中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)