C# WinForm程序如何动态的生成winform 水晶报表表?(不好意思啊,就这几分了,全部给了)

没搞过水晶报表,纯新手
C#+&winform&+&vs2008
&//连接字串
&&&&&&&&String&connstr&=&@&Provider=Microsoft.Jet.OLEDB.4.0;Data&Source=E:\CrZen\testall.&;
&&&&&&&&OleDbDataAdapter&da&=&new&OleDbDataAdapter();
&&&&&&&&OleDbConnection&cn&=&new&OleDbConnection(connstr);
&&&&&&&&//
&&&&&&&&da&=&new&OleDbDataAdapter(&SELECT&*&From&RPT_CR_TEST1&,&cn);
&&&&&&&&//创建我们的DataSet1实例
&&&&&&&&DataSet1&dt1&=&new&DataSet1();
&&&&&&&&//填充dt1
&&&&&&&&//注意:表名mytable必须与我们在xsd设计的表名称一致。
&&&&&&&&//本例中数据库的表实际名称为RPT_CR_TEST1,而最终是以mytable为准的
&&&&&&&&//使用&PUSH模式的优点就在此,可以自由组合SQL
&&&&&&&&//前提是表名称和字段名(需要在SQL中使用as别名的方式跟xsd中设计的字段名一致)都要一致
&&&&&&&&da.Fill(dt1,&&mytable&);
我刚才看了个例子是如上这么写的,连接都在页面上。
我现在通过自己写的方式获取了dataset
&DataSet&dsBook&=&dbSQL.GetBook();&&
其中dbSQL.GetBook()方法是我自己写的,返回的就是一个数据集。
上面例子中有一句赋值语句&da.Fill(dt1,&&mytable&);
那我的代码里在哪里赋值??&我没da这个对象啊
回复讨论(解决方案)
OleDbDataAdapter&da&=&new&OleDbDataAdapter();
少这句吧,你的dbSql是什么?
dbSQL.GetBook();&&&这句已经获取了dataset&直接返回就行了,没必要使用fill了。
OleDbDataAdapter&da&=&new&OleDbDataAdapter();
少这句吧,你的dbSql是什么?
dbSQL.GetBook();&&&这句已经获取了dataset&直接返回就行了,没必要使用fill了。
其实我是连接到水晶报表去的
数据集取到以后将数据赋给水晶报表,如果不赋值的话,水晶报表就是空白的了。
da.Fill(dt1,&&mytable&);&这一句很关键啊
da.Fill(dt1,&&mytable&);&这一句不过是将数据库读取出来的内容填充到dt1里,然后把dt1传递给水晶报表就好了啊
你的代码也一样,既然已经获取到了数据集,你要把数据集给水晶报表啊
DataSet&dsBook&=&dbSQL.GetBook();&&
既然你已经获取到了DataSet
dsBook.Tables[0]就是里面的datatable了,你把它给水晶报表就好了啊
另外,DataSet1&dt1&=&new&DataSet1();这是闹哪样,&DataSet1是个啥,自定义类型??
DataSet&dsBook&=&dbSQL.GetBook();&&
既然你已经获取到了DataSet
dsBook.Tables[0]就是里面的datatable了,你把它给水晶报表就好了啊
对,我就是不知道怎么给水晶报表
&&&&&&&&&&&&ReportDocument&myReport&=&new&ReportDocument();
&&&&&&&&&&&&string&reportPath&=&Environment.CurrentDirectory&+&&\\CrystalReport1.rpt&;
&&&&&&&&&&&&if&(System.IO.File.Exists(reportPath))
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&myReport.Load(reportPath);
&&&&&&&&&&&&&&&&//绑定数据集,注意,一个报表用一个数据集。
&&&&&&&&&&&&&&&&myReport.SetDataSource(dsData);
&&&&&&&&&&&&&&&&crystalReportViewer1.ReportSource&=&myR
&&&&&&&&&&&&}
水晶报表的哪个属性可以设置数据集?如何把已经获取到的dsBook赋值给水晶报表呢?
这句代码不会写
另外,DataSet1&dt1&=&new&DataSet1();这是闹哪样,&DataSet1是个啥,自定义类型??
不,&那段代码是例子,网上一个文档的例子,我没接触过水晶报表,下了个例子来看
例子是用sql语句获取数据集。我是用我自己写的db类获取数据集
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
水晶报表的表名是&bookTable
我获取的数据记录集是&dsBook
怎么赋给它呢?
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
这样不行,没有跟水晶报表里的表名关联起来,运行后没有具体数据,是空白的。
我网上看到,一定要跟水晶报表里的表名关联起来的,否则就不会显示数据。
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
这样不行,没有跟水晶报表里的表名关联起来,运行后没有具体数据,是空白的。
我网上看到,一定要跟水晶报表里的表名关联起来的,否则就不会显示数据。
晕死,要显示的数据字段居然根据水晶报表&来决定,而不是根据你读取的datatable里的列名来决定。这是什么逻辑,
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
这样不行,没有跟水晶报表里的表名关联起来,运行后没有具体数据,是空白的。
我网上看到,一定要跟水晶报表里的表名关联起来的,否则就不会显示数据。
晕死,要显示的数据字段居然根据水晶报表&来决定,而不是根据你读取的datatable里的列名来决定。这是什么逻辑,
水晶报表的字段跟datatable的字段要一样啊,不一样如何绑定?
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
你肯定没做过水晶报表,这种绝对不行的。你们发言就知道完全没做过
水晶报表要建一个DataSet1,&&这里要添加一个datatable,&&&这个datatable的表名要跟动态加载的数据集里的表名一致
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
这样不行,没有跟水晶报表里的表名关联起来,运行后没有具体数据,是空白的。
我网上看到,一定要跟水晶报表里的表名关联起来的,否则就不会显示数据。
晕死,要显示的数据字段居然根据水晶报表&来决定,而不是根据你读取的datatable里的列名来决定。这是什么逻辑,
水晶报表的字段跟datatable的字段要一样啊,不一样如何绑定?
那现在报表里的字段跟&Datatable&的列名一致不?
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
这样不行,没有跟水晶报表里的表名关联起来,运行后没有具体数据,是空白的。
我网上看到,一定要跟水晶报表里的表名关联起来的,否则就不会显示数据。
晕死,要显示的数据字段居然根据水晶报表&来决定,而不是根据你读取的datatable里的列名来决定。这是什么逻辑,
可以看出你完全没做过水晶报表的程序,呵呵。不过我也只会做楼主例子中的那样的水晶报表程序。额外的方式就不会了。水晶报表要求数据集填充&DataSet1里建立的dataTable的表名
&&&&DataSet1&dt1&=&new&DataSet1();
&&&&&&&&//填充dt1
&&&&&&&&da.Fill(dt1,&&mytable&);
就是这两句。如果看不懂这两句的,肯定可以确定,你没做过水晶报表!
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
这样不行,没有跟水晶报表里的表名关联起来,运行后没有具体数据,是空白的。
我网上看到,一定要跟水晶报表里的表名关联起来的,否则就不会显示数据。
晕死,要显示的数据字段居然根据水晶报表&来决定,而不是根据你读取的datatable里的列名来决定。这是什么逻辑,
水晶报表的字段跟datatable的字段要一样啊,不一样如何绑定?
那现在报表里的字段跟&Datatable&的列名一致不?
提问的楼主都没有把数据赋给水晶报表的DataSet1里的table,&数据都不会匹配,哪里还会出现列名是否一致的问题
根本就是空白
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
这样不行,没有跟水晶报表里的表名关联起来,运行后没有具体数据,是空白的。
我网上看到,一定要跟水晶报表里的表名关联起来的,否则就不会显示数据。
晕死,要显示的数据字段居然根据水晶报表&来决定,而不是根据你读取的datatable里的列名来决定。这是什么逻辑,
水晶报表的字段跟datatable的字段要一样啊,不一样如何绑定?
那现在报表里的字段跟&Datatable&的列名一致不?
提问的楼主都没有把数据赋给水晶报表的DataSet1里的table,&数据都不会匹配,哪里还会出现列名是否一致的问题
根本就是空白
所以才说&&&水晶报表的数据&是由&&读取的datatable决定的。看看lz回复在这句话,
这样不行,没有跟水晶报表里的表名关联起来,运行后没有具体数据,是空白的。
我的程序如下:
&&&&&&&&&&&&DataSet&dsData&=&dbSQL.GetBRTInfo();
&&&&&&&&&&&&//创建DataSet1实例
&&&&&&&&&&&&DataSet1&dt1&=&new&DataSet1();
&&&&&&&&&&&//以下填充dt1,&这里代码不会写,我的DataSet1里的表是myTable,&谁帮忙写一下赋值语句???
&&&&&&&&&&&&//实例报表文档
&&&&&&&&&&&&ReportDocument&myReport&=&new&ReportDocument();
&&&&&&&&&&&&string&reportPath&=&Environment.CurrentDirectory&+&&\\CrystalReport1.rpt&;
&&&&&&&&&&&&if&(System.IO.File.Exists(reportPath))
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&myReport.Load(reportPath);
&&&&&&&&&&&&&&&&//绑定数据集,注意,一个报表用一个数据集。
&&&&&&&&&&&&&&&&myReport.SetDataSource(dsData);
&&&&&&&&&&&&&&&&crystalReportViewer1.ReportSource&=&myR
&&&&&&&&&&&&}
我已经获取了记录集,dsData.&&&&&水晶报表的教程里都是用da对象去填充,我现在没有da对象,那么怎么填充呢?
前面几位给我指点的朋友都没有搞清楚,&vcandsql说到点子上了,但是我想知道怎么在我的程序里填充
myReport.SetDataSource(dsData);
这句话不就是设置数据源吗,你把你的dataset替换掉上面的dsData就行了
这样不行,没有跟水晶报表里的表名关联起来,运行后没有具体数据,是空白的。
我网上看到,一定要跟水晶报表里的表名关联起来的,否则就不会显示数据。
晕死,要显示的数据字段居然根据水晶报表&来决定,而不是根据你读取的datatable里的列名来决定。这是什么逻辑,
可以看出你完全没做过水晶报表的程序,呵呵。不过我也只会做楼主例子中的那样的水晶报表程序。额外的方式就不会了。水晶报表要求数据集填充&DataSet1里建立的dataTable的表名
&&&&DataSet1&dt1&=&new&DataSet1();
&&&&&&&&//填充dt1
&&&&&&&&da.Fill(dt1,&&mytable&);
就是这两句。如果看不懂这两句的,肯定可以确定,你没做过水晶报表!
哦,你会。动态水晶报表_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
动态水晶报表
上传于||文档简介
&&C​#​ ​实​现​水​晶​动​态​报​表​制​作
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢C# WinForm程序如何动态的生成水晶报表?(不好意思啊,就这几分了,全部给了)_百度知道C#做的程序里用到了水晶报表,为了便于做安装包,就把水晶报表跟EXE文件放在同一个文件夹_百度知道

我要回帖

更多关于 winform 水晶报表 的文章

 

随机推荐