chart图表数据绑定的问题

marchisio 2013-04-26 08:34:28
做了一个统计每天违章次数的折线图 表格内容如下
select count(ID) as 魏岗运行队, riqi as 日期 from cbs_jiaotong where dwmc='魏岗运行队' group by riqi
通过这条语句统计每天的违章次数 然后做成折线图
问题是不是每天都每个队都有违章记录 这样的话 取到的数据就不是每天都有
例如

这样的话由于不是每天都有数据会产生 又要把各个队放到一张图标中比较 那么对应的时间久不对了 由于表格是按照查询记录的顺序排列的 日期不同的就被排到一起了
...全文
299 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
marchisio 2013-04-26
  • 打赏
  • 举报
回复
引用 6 楼 qiujialongjjj 的回复:
查询的时候。
问题是我写入数据的时候有的日期如果没有违章的话 就没记录啊 还是不太明白你说的查询的时候怎么写
风一样的大叔 2013-04-26
  • 打赏
  • 举报
回复
查询的时候。
marchisio 2013-04-26
  • 打赏
  • 举报
回复
引用 3 楼 qiujialongjjj 的回复:
没有数据的用0代替啊,isnull(count(1),0)
是我写入数据的时候用0替代 还是查询的时候
marchisio 2013-04-26
  • 打赏
  • 举报
回复
引用 3 楼 qiujialongjjj 的回复:
没有数据的用0代替啊,isnull(count(1),0)
求具体方法
风一样的大叔 2013-04-26
  • 打赏
  • 举报
回复
没有数据的用0代替啊,isnull(count(1),0)
marchisio 2013-04-26
  • 打赏
  • 举报
回复
没办法解决么....
marchisio 2013-04-26
  • 打赏
  • 举报
回复

双江运行队4.19的数据就被放到与魏岗运行队3.27对应的那个点了
风一样的大叔 2013-04-26
  • 打赏
  • 举报
回复
赋值的时候有何难,赋值前先判断下x轴日期是否与数据库中一致再赋值即可
hefei0603 2013-04-26
  • 打赏
  • 举报
回复
你用一个sql不就可以取出所有图表的全部数据了么 按你的写法有几个队伍你就需要写几个sql。建议你直接写
select dwmc,riqi,count(id) as num from cbs_jiaotong group by dwmc,riqi

DateTime start=DateTime.Now.AddMonths(-1);
DataRow []rows=null;
String []dwmcs=new String[]{"xx队","xxx队"};
while(start<DateTime.Now)
{
    foreach(String mc in dwmcs)
    {
         rows=data.select("riqi='"+start.ToString("yyyy-MM-dd")+"' and dwmc='"+mc +"'");
         if(rows!=null&&rows.Count>0)
         {
             rows[0]["num"]//这个就是单位mc对应的违规次数
             .......
         }
          rows=null;
    }
    start.AddDays(1);
}
marchisio 2013-04-26
  • 打赏
  • 举报
回复
引用 14 楼 hefei0603 的回复:
那你的时间不就有了

DateTime start=DateTime.Now.AddMonths(-1);
DataRow []rows=null;
while(start<DateTime.Now)
{
    rows=data.select("日期='"+start.ToString("yyyy-MM-dd")+"'");
    .....
    进行图表赋值
    .....
    rows=null;
    start.AddDays(1);
}
rows=data.select("日期='"+start.ToString("yyyy-MM-dd")+"'"); 取出的是我要的日期 对应的值改怎么取呢
hefei0603 2013-04-26
  • 打赏
  • 举报
回复
那你的时间不就有了

DateTime start=DateTime.Now.AddMonths(-1);
DataRow []rows=null;
while(start<DateTime.Now)
{
    rows=data.select("日期='"+start.ToString("yyyy-MM-dd")+"'");
    .....
    进行图表赋值
    .....
    rows=null;
    start.AddDays(1);
}
marchisio 2013-04-26
  • 打赏
  • 举报
回复
引用 12 楼 hefei0603 的回复:
你的图表日期是从几号好几号 这个业务逻辑是怎么规定呢?
我要显示的是近一个月内的
hefei0603 2013-04-26
  • 打赏
  • 举报
回复
你的图表日期是从几号好几号 这个业务逻辑是怎么规定呢?
marchisio 2013-04-26
  • 打赏
  • 举报
回复
引用 10 楼 hefei0603 的回复:
在给chart图表赋值的时候不要直接循环取出来的数据,而是循环你需要的日期,通过日期到你查出来的数据中去查找对应的值(使用datatable的select方法),查不到的就是0。这样图表就每天都有数据了。
循环需要的日期 能具体说下么 按你说的我想先找到不同的日期??
hefei0603 2013-04-26
  • 打赏
  • 举报
回复
在给chart图表赋值的时候不要直接循环取出来的数据,而是循环你需要的日期,通过日期到你查出来的数据中去查找对应的值(使用datatable的select方法),查不到的就是0。这样图表就每天都有数据了。
marchisio 2013-04-26
  • 打赏
  • 举报
回复
引用 8 楼 qiujialongjjj 的回复:
那你把图形的x轴坐标固定成每天都需要显示啊
我有好多个单位 只是想那天有某个单位的数据就显示哪个单位 如果只有一个单位的话好说 现在有多个单位不是每天每个单位都有违章 如果我把x轴固定成每天都有显示的话 怎么对应每天的值呢?
风一样的大叔 2013-04-26
  • 打赏
  • 举报
回复
那你把图形的x轴坐标固定成每天都需要显示啊

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧