我做了一个水晶报表柱状图,横轴显示各个企业名称,纵轴显示数据, 我把时间条件作为变量,可在.aspx页面选择;
但是我的目的是: 每个企业两根柱子:一个显示选定时间的数据,另一个显示“去年同期”的数据, 用于对比。
问题是:在时间上我不知道怎么才能为“去年同期”那根柱子帮定另一个时间,数据取自同一表,并且同一个报表中好像不能用俩时间变量吧?
今天交货,很急, 期待各位高手帮忙! --在线,解决问题立即给分
解决方案 »
- 我如何提高asp.net的开发效率?
- |zyciis| ASP.NET自带的“从客户端中检测到有潜在危险的 Request.Form 值”他是根据什么标准来确定的,也相当于他判断的正则是怎么写 谢谢
- 数据库下载文本文档错误
- 特殊的URLRewrite 可实施性参考
- 求救2005 调试的问题
- 关于网站的视频
- 请教:各位在做WEB项目时,如果高效的应对很多打印页面?
- 如何在网页中动态加载图片
- .net 缓存的相关问题
- 这几天整理了近1G的asp.net资料,比上次多多了!下的快。up分!
- 水晶报表问题(难)熟悉水晶报表的高手请进 !!!
- 对我来说不是小问题的小问题:session和用户控件问题,
这个参数应该和原来的参数不一样,但我不知道怎么给命令里的参数传值,如果有办法给命令里那个参数传值,问题也能解决。
private void OnRenderGraph(ZedGraphWeb zgw, Graphics g, MasterPane masterPane)
{
GraphPane myPane = masterPane[0];
myPane.Title.Text = "图表名称"; //设计图表的标题
myPane.XAxis.Title.Text = "类型"; //X轴标题
myPane.YAxis.Title.Text = "人数"; //Y轴标题
PointPairList list = new PointPairList(); //初始化一个PointPariList对象,说白了就是一条曲线或一条柱子要生出来了 PointPairList list2 = new PointPairList(); //如果你要在一个图表城显示多条曲线或柱子你就可以增加一个PointPariList对像,相对应下面的 y2,List2也是这个List相关的东西了 PointPairList list3 = new PointPairList(); //原理同上
for (int x = 0; x < this.GridView1.Rows.Count; x++) //循环,x的初始值为0,最终值是我数据源中的记录总数 这里主要是gdvEdulist.Rows.Count的设定,根据你的数据源来设定
{ int careerCount = Convert.ToInt32(this.GridView1.Rows[x].Cells[1].Text.Trim());// 这个是获取所对应的每条柱子所对应的数据的文本,我是从gridvew中直接取到的 int y = careerCount;//这句就是要充的值了,将CareerCount的值都整到Y里面去了,其实你也可以直接将值赋予Y,注意,这里的Y应该代表Y轴
Random rand = new Random();
double y2 = rand.NextDouble() * 300;
double y3 = rand.NextDouble() * 300; list.Add(x, y); // 将XY的值整到list里面存储起来
list2.Add(x, y2);
list3.Add(x, y3);
} BarItem myCurve = myPane.AddBar("数据统计", list, Color.Green); //增加一个Bar,List里面是不是包含了(X,Y) myCurve.Bar.Fill = new Fill(Color.Green, Color.Green, Color.Green); //将颜色直译
BarItem myCurve2 = myPane.AddBar("续费", list2, Color.Red);
myCurve2.Bar.Fill = new Fill(Color.Red, Color.White, Color.Red);
BarItem myCurve3 = myPane.AddBar("升级", list3, Color.Green);
myCurve3.Bar.Fill = new Fill(Color.Green, Color.White, Color.Green); myPane.XAxis.MajorTic.IsBetweenLabels = true; //这个我不知道乍么解释,不好意思 string[] labels = new string[GridView1.Rows.Count]; for (int i = 0; i < this.GridView1.Rows.Count; i++) //这个循环主要是取到里面的说明文字,用了一个数组的方法
{
labels[i] = this.GridView1.Rows[i].Cells[0].Text.Trim();
}
}
on d.EnterpriseName=d1.EnterpriseName
and d.BlocId = d1.BlocId
and d.TableId = d1.Tableid
and d.SortNo = d1.SortNo
where d.BlocId={?BlocId}
and d.tableId={?TableId}
and d.SortNo={?SortNo}
and d.Date='{?DateOld}'
and d1.date='{?DateNow}'