1、说明:

    利用HighStock显示曲线,在右上角的日期间隔选择好日期后,重新请求后台数据,重新加载曲线。

2、实现方法:

    在HighStock的rangeSelector中有一个属性inputDateParser,在这里面可以定义一个回调函数,当输入完日期后,会调用这个函数。

3、日期的取得:

    右键查看元素可知,开始日期的input有name=‘min’属性,结束日期input有name='max'属性。这样只需要获得value只就可以了。

4、代码:

    在回调函数中会用到,自己调用自己,因此定义了func()函数,以便在回调函数中使用。本例在回调函数中只是模拟,原理是一样的,只要把ajax发送的数据改为min、max就可以了。在后台,接收日期查询数据返回数据。

  $(function () {
$.getJSON("/handler1.ashx", function func(dt) {
var data=[];
Highcharts.setOptions({
global: {
useUTC:false
} });
for (var i = 0; i < dt.length; i++) {
data.push([Date.parse(dt[i]["Time"]), Number(dt[i]["Value"])]);
}
$('#highstock').highcharts('StockChart', { credits: {
enabled:false
}, navigator: {
enabled: $(window).width() > 640
}, rangeSelector: {
selected: 1,
inputDateFormat: '%Y-%m-%d',
enabled: true,
inputDateParser:function () {
$.ajax({ //实现点击日期框 再次选择数据
url: '/handler1.ashx',
dataType: 'json',
data:'min=45',
success:function(ds) {
func(ds);
}
}); }
}, series: [{
name: '持仓量',
data: data,
tooltip: {
valueDecimals: 2
}
}],
tooltip: {
formatter: function () {
var tip = "";
tip += Highcharts.dateFormat("%Y年%m月%d日", this.points[0].point.x, false) + "<br/>";
tip += "净持仓:" + this.points[0].point.y.toFixed(2) + "吨<br/>";
return tip; }
},
yAxis: { gridLineColor: '#ccc', labels: {
formatter: function () {
return this.value + "吨";
}
}
}
});
}); });

      后台代码:接收到“45”说明是,点击日期选择框了,返回前2条数据。实际使用中,接收min、max日期,拼where条件查询数据返回。

       string min = context.Request["min"]??"";
string sql;
if (min=="")
{
sql = "select top(2)Time,Value from TableTest order by Time";
}
else
{
sql= "select Time,Value from TableTest order by Time";
} DataTable dt=SqlDbHelper.ExecuteDataTable(sql); context.Response.Write(JsonConvert.SerializeObject(dt));

Highcharts使用=====通过指定日期显示曲线的更多相关文章

  1. 同一天的时间差,显示为HHMMSS和指定日期时间部分

    //1.hhmmss private String setGoodsDisBalance(Date startTime,Date endTime){ //时间差:毫秒ms long diff = en ...

  2. 使用DateAdd方法向指定日期添加一段时间间隔,使用TimeSpan对象获取时间间隔

    一:使用DateAdd方法向指定日期添加一段时间间隔,截图 二:代码 using System; using System.Collections.Generic; using System.Comp ...

  3. repo回退当前分支下所有仓库到指定日期前的最新代码版本【转】

    本文转载自:https://blog.csdn.net/u011006622/article/details/70272087 执行下面这样的repo命令就行了:  repo forall -c 'c ...

  4. springboot定时任务,去掉指定日期

    今天用springboot写到一个需求:每周定时发送任务,但是要避开法定节假日. 网上找了些博客看,主要参考了https://www.cnblogs.com/lic309/p/4089633.html ...

  5. repo 回退当前分支下所有仓库到指定日期前的最新代码版本

    回退命令: repo forall -c 'commitID=git log --before "2019-11-24 23:59" -1 --pretty=format:&quo ...

  6. day81:luffy:课程分类页面&课程信息页面&指定分类显示课程信息&分页显示课程信息

    目录 1.构建课程前端初始页面 2.course后端的准备工作 3.后端实现课程分类列表接口 4.前端发送请求-获取课程分类信息 5.后端实现课程列表信息的接口 6.前端显示列表课程信息 7.按照指定 ...

  7. 断今天日期和指定日期相等和两者的时间差为两年的sql

    1.  ---判断今天日期和指定日期相等 update store  set Status =1 where CONVERT(varchar(12) ,opendate, 105 )= CONVERT ...

  8. iOS不得姐项目--精华模块上拉下拉的注意事项,日期显示,重构子控制器,计算cell的高度(只计算一次),图片帖子的显示

    一.上拉下拉注意事项 使用MJRefresh中的上拉控件自动设置透明 当请求下页数据通过page的时候,注意的是上拉加载更多数据失败的问题,下拉加载数据失败了,页数应该还原.或者是请求成功的时候再将页 ...

  9. JS 比较日期相隔都少天&& 比较两个日期大小&&指定日期往前后推指定天数

    //这些天常接触到有关于js操作日期事 就小结了一下,希望对你有帮助 function conversionDate(a,b){ var start =a.split('-'); var end = ...

随机推荐

  1. IEnumerable中的 Any方法

    IEnumerable类中的 Any方法,表示集合中有任何一元素满足条件,返回就true , 该方法有两个重载 1. 不带任何参数,表示集合中有元素 2. 参入一个 Func<TSource, ...

  2. PHP开发环境设置

    步骤有三个: Apache 服务器安装.PHP 安装和让 Apache 支持 PHP 1. Apache 服务器的安装与配置 基于Windows操作系统支持的PHP开发的服务器有IIS和Apache, ...

  3. AudioServicesPlaySystemSound音频服务—b

    对于简单的.无混音音频,AVAudio ToolBox框架提供了一个简单的C语言风格的音频服务.你可以使用AudioservicesPlaySystemSound函数来播放简单的声音.要遵守以下几个规 ...

  4. DBUtils框架

    一.O-R Mapping 简介    一]概念:可以理解为对象和数据库的映射.    二]常用O-R Mapping映射工具        1)Hibernate(全自动框架)        2)l ...

  5. ossim/zabbix/logstash

    http://dl528888.blog.51cto.com/2382721/1639579 http://307033.blog.51cto.com/297033/473666 http://lym ...

  6. Qt编程之右键单击QTreeWidgetItem弹出菜单

    其实有这个需求很好理解,就是我有个project manager,上面的TreeWidgetItem都表示一个工程,我需要右键创建新的工程,或者删除.这个在很多普通软件中也见得多.在弹出的菜单中加入相 ...

  7. Netbeans 学习

    1.NetBeans快捷键: 1.完成代码:ctrl+\ //任何地方按下此组合键,均会提示相应的参考字段: 2.错误提示:alt + enter //顾名思义,当系统报错时,按下此组合可以查看系统提 ...

  8. 几年前再用exjts4,如今extjs5发布了,技术更新快,每次给人惊喜

    我们非常高兴的宣布,Sencha Ext JS 5 beta版本开始进行公测了.这个beta版本可以让你.我们Sencha社区来对我们的Ext JS 5的工作进度进行评测.对于所以Ext JS开发人员 ...

  9. 【转】【教程】office 2013 & visio 2013的激活

    原文网址:http://zhan.renren.com/sola86?gid=3602888498037097351&checked=true 1.下载安装文件 office和visio都有两 ...

  10. linux下编译eXosip、osip,以及UAC和UAS的例子

    从网站上看到了这样的一篇博文 :Windows下编译eXosip.osip,以及UAC和UAS的例子 (链接:http://www.cnblogs.com/dyllove98/archive/2013 ...