核心代码:

Chart1.ChartAreas[0].AxisX.Interval = (Front_Max - Front_Min).Days / 2;
Chart1.ChartAreas[0].AxisX.Minimum = Front_Min.ToOADate();
Chart1.ChartAreas[0].AxisX.Maximum = Front_Max.ToOADate();

实现的效果:数据库最小的值:2015-01-12,最大值是2015-05-13,中间显示一个2015-03-13,只显示3个Label,如果是4个Lable就是除以3. 一个4个,间隔3个。

之前因为下面一行代码,Label日期显示的起始日期,而是前后扩展一段时间,研究了很久不知道怎么显示起始日期。

Chart1.ChartAreas[0].AxisX.IntervalType = System.Web.UI.DataVisualization.Charting.DateTimeIntervalType.Days

把这行代码删掉,或者改为下面的就可以了,默认就是这样:

Chart1.ChartAreas[0].AxisX.IntervalType = System.Web.UI.DataVisualization.Charting.DateTimeIntervalType.Auto;

因为在之前已经设置过ChartType 为日期格式。

chart.Series[SeriesName].ChartType = ChartValueType.Date

  

添加日期范围、日期间隔有效值检查的改良版代码:

try
{ Chart1.ChartAreas[0].AxisX.Minimum = Front_Min.AddDays(-2).ToOADate();
Chart1.ChartAreas[0].AxisX.Maximum = Front_Max.AddDays(2).ToOADate(); double days = (double)((TimeSpan)(Front_Max.AddDays(2) - Front_Min.AddDays(-2))).Days;
double labels = 2.0; // check if the number of days is bigger than labels
if (days > labels)
{
// calculate the interval
double interval = days / labels;
Chart1.ChartAreas[0].AxisX.Interval = interval;
}
else
{
// set the interval of 1 day
Chart1.ChartAreas[0].AxisX.Interval = 1;
}
}
catch
{
//prevent null data
}

  

 

  

MS Chart-按照数据库的最大最小时间设置X轴label.的更多相关文章

  1. MS Chart 折线图——去除时间中的时、分、秒,按天统计【转】

    MS Chart 折线图——去除时间中的时.分.秒,按天统计   private void Form2_Load(object sender, EventArgs e){            str ...

  2. (火炬)MS SQL Server数据库案例教程

    (火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...

  3. 【MS SQL】数据库维护计划之数据库备份(一)

    原文:[MS SQL]数据库维护计划之数据库备份(一) 在做数据库备份之前,一定会听到:完整备份.差异备份.增量备份.事务日志备份...等词:下面配图进行说明. 完整备份:完整数据库备份包含数据库中的 ...

  4. 【MS SQL】数据库维护计划之数据库备份(二)

    原文:[MS SQL]数据库维护计划之数据库备份(二) 上篇[MS SQL]数据库维护计划之数据库备份(一) 说了数据库备份的一些概念后,这篇以HRP_KQYY数据库备份为例,进行备份计划设置. 考虑 ...

  5. 在易语言中调用MS SQL SERVER数据库存储过程方法总结

    Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...

  6. MS Chart 学习心得

    利用Chart控件对学生信息进行统计,最终结果如下: Chart图形控件主要由以下几个部份组成: 1.Annotations --图形注解集合2.ChartAreas  --图表区域集合3.Legen ...

  7. 在mysql数据库中关于日期时间字段的处理

    在mysql数据库中关于日期时间字段的处理 在开发中,日期时间字段一般有如下几种设计 假设要获取2013-08-15日到2013-08-16日之间的记录 1. 直接使用日期时间类字段 相关sql语句如 ...

  8. MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加

    微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...

  9. php 当前时间 当前时间戳和数据库里取出的时间datetime格式进行比较大小

    php 当前时间 当前时间戳和数据库里取出的时间datetime格式进行比较大小 UNIX时间戳转换为日期用函数: date() ,date('Y-m-d H:i:s', 1500219870); 日 ...

随机推荐

  1. 用ipad维护Linux服务器

    用ipad维护Linux服务器 随着移动办公的应用深入,越来越多的ITer开始使用ipad来工作学习和娱乐,有时当你接到紧急求救电话,需要你维护服务器时,怎么办?拿着ipad接入到wifi网络就能连接 ...

  2. 如何解决SWAT模型数据移动目录后出现的“SWAT2005.mdb database specified in your MasterProgress table does not exists. Please correct and try again”的问题

    方法: 1.用MS Access软件打开SWAT模型工程文件的数据文件,如“**流域模拟.mdb”,该文件一般存放在工程文件“**流域模拟.mxd”相同的路径: 2.打开以后,找到“MasterPro ...

  3. HiveSQL解析过程详解 | 学步园

    HiveSQL解析过程详解 | 学步园   http://www.xuebuyuan.com/2210261.html

  4. Objective-C的基础语法总结

    1.NSLog(@“hello world!”);//打印语句的函数,需要打印的字符串放在@之后. NSLog(@“are %d and %d different?%@”,4,4,@”YES”); 2 ...

  5. ASP.NET的SEO:正则表达式

    目前国内主流的网站内容管理系统中,有大部分是可以将动态的PHP.ASP.ASPX等文档直接生成HTML的.但是由于有些网站的内容较多,因此如果单纯的采取直接生成的方式,将会占用大量的服务器资源.在这种 ...

  6. JS常用的设计模式(16)—— 享元模式

    享元模式主要用来减少程序所需的对象个数. 有一个例子, 我们这边的前端同学几乎人手一本<JavaScript权威指南>. 从省钱的角度讲, 大约三本就够了. 放在部门的书柜里, 谁需要看的 ...

  7. 利用DIV+CSS制作网页过程中常用的基本概念及标签使

    CSS主要用于对HTML文件功能的补充及扩展,其作用就是对HTML文件中各种排版进行设置,达到对网页中字体.颜色.背景.图片等的控制,使网页能够完全依照设计者的想法来显示. CSS可以控制网页的显示, ...

  8. sql server 查询表信息

    SELECT '表名' = e.[name], '表说明' = f.[value], '字段序号' = a.colorder, '字段名' = a.[name], '字段类型' = b.[name], ...

  9. html5面向对象做一个贪吃蛇小游戏

    canvas加面向对象方式的贪吃蛇 2016-08-25 这个小游戏可以增加对面向对象的理解,可以加强js逻辑能力,总之认真自己敲一两遍收获还是不少啊!!适合刚学canvas的同学练习!! 废话不多说 ...

  10. rest api设计[资源]

    web开发资源列表 http://www.bentobox.io/ rest api资源 Designing an API http://www.vinaysahni.com/best-practic ...