菜鸟又遇一问题,关于交叉表 最近工作需要自学水晶报表,一直参考阿泰哥的教程学的不亦乐乎。 可到了交叉报表悲剧了,因为木有这个教程,于是又找了篇《水晶报表交叉表及数据过滤基础篇》参考,可这个是winform的,我是在webform使用,内容其实无觉着还挺详细,但在我这就是出不来东啊。不废话了,下面细说! 这是我参照别人说的写的SQL: select datetime, sum( case TextType when '空柜查询' then iCount end ) as '空柜查询', sum(case TextType when '拖车座柜查询' then iCount end) as '拖车座柜查询', sum(case TextType when '集装箱查询' then iCount end) as '集装箱查询' from IMenuStats group by datetime 具体表结构为 数据来源于表IMenuStats,表中内容如下: datetime TextType iCount 5月1日 空柜查询 25 5月1日 拖车做柜查询 35 5月1日 集装箱查询 28 5月2日 空柜查询 27 5月2日 拖车做柜查询 30 5月2日 集装箱查询 32 5月3日 空柜查询 17 5月3日 拖车做柜查询 19 5月3日 集装箱查询 21 可问题来了,我这么写在SQLSERVER里看了下,都能搜出来,可我往dataset里放的时候就不行了,dataset结构如下 table名字: myTable table字段: datetime TextType iCount 字段类型我设置的datetime,texttype都是string,因为我在数据库里是char的,iCount是int
代码是: string sql = @"select datetime, sum( case TextType when '空柜查询' then iCount end ) as '空柜查询', sum(case TextType when '拖车座柜查询' then iCount end) as '拖车座柜查询', sum(case TextType when '集装箱查询' then iCount end) as '集装箱查询' from IMenuStats group by datetime"; SqlConnection conn = new SqlConnection(str); conn.Open(); SqlDataAdapter da = new SqlDataAdapter(sql, conn); conn.Close(); DataSet1 ds1 = new DataSet1(); da.Fill(ds1, "myTable"); ReportDocument report = new ReportDocument(); string reportPath=Server.MapPath("crystalreport1.rpt"); report.Load(reportPath); report.SetDataSource(ds1.Tables[0]); CrystalReportViewer1.ReportSource = report; 是不是我对交叉表使用理解错了? 反正是个小白,求指导