chart图表数据绑定的问题

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

这样的话由于不是每天都有数据会产生 又要把各个队放到一张图标中比较 那么对应的时间久不对了 由于表格是按照查询记录的顺序排列的 日期不同的就被排到一起了
...全文
317 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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轴坐标固定成每天都需要显示啊

111,094

社区成员

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

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

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