您的位置:首页 > 其它

水晶报表 为显示问题

2012-07-17 16:36 295 查看
先建了一个Mydataset
Mydataset my_DS = new Mydataset ();
SqlConnection my_sqlcnn = new SqlConnection( "连接字串 " );
my_sqlcnn.Open();
string StrSQL = "查询1 ";
SqlDataAdapter my_DA = new SqlDataAdapter( StrSQL,my_sqlcnn );
my_DA.Fill( my_DS, "查询1 " );
StrSQL = "查询2“
SqlDataAdapter my_DA1 = new SqlDataAdapter(StrSQL,my_sqlcnn);
my_DA.Fill(my_DS, "查询2 ");
StrSQL = "查询3 ";
SqlDataAdapter my_DA2 = new SqlDataAdapter( StrSQL,my_sqlcnn );
my_DA.Fill( my_DS, "查询3 " );
CrystalReportDataClientPart my_Report = new CrystalReportDataClientPart();

my_Report.SetDataSource(my_DS);
crystalReportViewer1.ReportSource = my_Report;

为什么不显示数据和图表!!!!!

-

浅年
2009-03-02 07:58

不懂 帮顶

-

搜翁
2009-03-02 07:58

谢谢,楼上的朋友 帮顶 有人情味 在一个无助的时候,有人帮顶 真心的谢谢,

my_Report.SetDataSource(my_DS);
my_Report.Refresh();

我在以上的代码中加入了一句还是没有用,只显示标题,别的什么也没有!我也改过我的数据连接方式!

-

杯水泛舟
2009-03-02 07:58

crystalReportViewer1.ReportSource = my_Report;
crystalReportViewer1.RefreshReport();
crystalReportViewer1.Show();

-

彦非
2009-03-02 07:58

朋友,我用过你的方法了,还是一样的,没有变!

-

水亦蓝
2009-03-02 07:58

my_Report.SetDataSource(my_DS.Tables[0]);
直接用表绑定呢?

-

完美女人
2009-03-02 07:58

朋友你还在吗?
我用了你的方法,还是不行哦!

请帮帮我吧!

-

阮宏
2009-03-02 07:58

朋友,我找到方法了,我知道为什么了!

-

浅年
2009-03-02 07:58

我想好多朋友和我一样在学习用crystalReportViewer水晶报表时都有或多或少的问题,不过我现在只想和朋友们一起分想我的错误和解决方
法,有太多地方我也不知道为什么!不过我说出来只要能帮助到你一点点就是我的最大快乐。(虽然我过几开就不再做开发了!说真的我喜欢做这个。不要问我为什
么?有点伤感!)
1)在学习中第一个问题就如何使用它?
  如果你是用“推push”(比“拉pull”要实用):
先打开一个“新建项目”找到“数据集”,把你想要显示的表添加过来;

打开一个“新建项目”找到“CrystalReport1”这就是报表(这里面的数据“链接”实分重要,如果你是多表的话,你可能要多次调整),在“样
式”中的标题就是你报表显示用的标题。(也可以在后来加入文本做为标题);crystalReportViewer1这个是从工具箱中拖出来的,是用来显
示报表的。(如果还有不明白的上网去查查看有太多说明。)
2)为什么不显示数据或图表?(这个问题我费了一天)
有几个可能和方法:先加入我的代码(测过无勿)
MyDataset my_DS = new MyDataset();    //这是我的数据集
SqlConnection my_sqlcnn = new SqlConnection( my_SQLConnStr );
                     //my_SQLConnStr 我的连接字串
my_sqlcnn.Open();            //一定要打开

StrSQL = "SELECT * from SM_PartInfo ";
SqlDataAdapter my_DA = new SqlDataAdapter(StrSQL,my_sqlcnn);
     //将从数据库的students表中选出的所有数据放置在my_DS的名为SM_PartInfo表中
my_DA.Fill(my_DS, "SM_PartInfo ");
     //用来测试有没有数据的,如果没有数据可能就是你的数据链接有错哦!
mySum = my_DS.Tables[ "SM_PartInfo "].Rows.Count ;

StrSQL = "SELECT * from CI_ClientArchives ";
SqlDataAdapter my_DA1 = new SqlDataAdapter(StrSQL,my_sqlcnn);
  //将从数据库的Department表中选出的所有数据放置在my_DS的名为CI_ClientArchives表中
my_DA1.Fill(my_DS, "CI_ClientArchives ");

mySum = my_DS.Tables[ "CI_ClientArchives "].Rows.Count ;//用来测试有没有数据的

StrSQL = "SELECT * from CI_AM_Archives ";
SqlDataAdapter my_DA2 = new SqlDataAdapter(StrSQL,my_sqlcnn);
      //将从数据库的students表中选出的所有数据放置在my_DS的名为SM_PartInfo表中
my_DA2.Fill(my_DS , "CI_AM_Archives " );

mySum = my_DS.Tables[ "CI_AM_Archives "].Rows.Count ;//用来测试有没有数据的

       //设置程序运行时默认显示的报表,加在窗体构造函数中
MyCrystalReport my_Report = new MyCrystalReport();
       //设置将水晶报表的数据源
my_Report.SetDataSource(my_DS);
  //如果没有数据就加上这句试试 my_Report.Refresh();

      //设置报表查看器中显示的报表
crystalReportViewer1.ReportSource = my_Report;
  //还是没有数据加上这句你再试试 crystalReportViewer1.RefreshReport();

如果你加入了这些还是没有数据,你可以查看一下你的数据(链接是否有错,要多试几次)
代码有详释,你应该可以看懂了吧!(以上只是对初学者有帮助,请高手莫笑)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: