这个我是在winform的页面上做的

1. 首先是在页面上添加3个lable   第一次点击lable会有相应的数据被查询出来  第二次点击同一个lable会刷新所有的数据

2.点击不同的label会有颜色提示当前点击的是哪一个  第二次点击的时候会还原lable的颜色

3.根据本日 本周 本月查询数据  是根据时间段来查询的  所以应该要先获取到本日的时间段  本周的时间段和本月的时间段

本日  labDay  本周  labWeek 本月  labMonth

代码如下

 public partial class frmSelCase
{
private List<Label> m_lstLabel = new List<Label>();
} //单数次颜色变为蓝色 偶数次颜色为默认色
bool[] labelClick = { false, false, false }; private void initControls()
{
//三个lable的点击事件
labDay.Click += new EventHandler(labDay_Click);
labWeek.Click += new EventHandler(labWeek_Click);
labMonth.Click += new EventHandler(labMonth_Click); initResonArray();
for (int i = ; i < m_lstLabel.Count; i++)
{
Label labLeaveReson = m_lstLabel[i];
labLeaveReson.Click += new EventHandler(lab_Click);
}
} private void initResonArray()
{
m_lstLabel.Add(labDay);
m_lstLabel.Add(labWeek);
m_lstLabel.Add(labMonth);
} //将切换了lable颜色的事件我写到了一起 private void lab_Click(object sender, EventArgs e)
{
if (null == m_lstLabel) return;
if (null == sender) return;
Label labCurClick = (Label)sender; for (int i = ; i < m_lstLabel.Count; i++)
{
Label labReson = m_lstLabel[i]; if (labReson.Name == labCurClick.Name && labelClick[i] == false)
{
if (labReson.BackColor != Color.FromArgb(, , )) labReson.BackColor = Color.FromArgb(, , );
if (labReson.ForeColor != Color.FromArgb(, , )) labReson.ForeColor = Color.FromArgb(, , );
labelClick[i] = true;
}
else
{
if (labReson.BackColor != Color.FromArgb(, , )) labReson.BackColor = Color.FromArgb(, , );
if (labReson.ForeColor != Color.FromArgb(, , )) labReson.ForeColor = Color.FromArgb(, , );
labelClick[i] = false;
}
}
} //获取时间段
private void getDateRange(DateRange range, out DateTime startTime, out DateTime endTime)
{
startTime = DateTime.MinValue;
endTime = DateTime.MinValue; DateTime dtNow = DateTime.Now; switch (range)
{
case DateRange.Day:
startTime = dtNow.Date;
endTime = dtNow.AddDays().AddSeconds(-);
break;
case DateRange.Week:
startTime = dtNow.Date.AddDays( -Convert.ToInt32(dtNow.DayOfWeek.ToString("d")));
endTime = startTime.AddDays().AddSeconds(-);
break;
case DateRange.Month:
startTime = dtNow.Date.AddDays( - DateTime.Now.Date.Day);
endTime = startTime.AddMonths().AddSeconds(-);
break;
case DateRange.None:
default:
break;
}
} //单击本日 查询本日的数据 再点击一下就还原lable的颜色和初始数据
private void labDay_Click(object sender, EventArgs e)
{
if (DateRange.Day == m_dateRange)
{
m_dateRange = DateRange.None;
}
else
{
m_dateRange = DateRange.Day;
}
getDateRange(m_dateRange, out m_dtFilter_StartTime, out m_dtFilter_EndTime);
String strInputText = InputText.ToUpper();
if (SysDefine.FAILED == refreshList(, strInputText))
{
MessageBox.Show(this.ErrorText, "信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
} //单击本周 查询本周的数据 再点击一下就还原lable的颜色和初始数据
private void labWeek_Click(object sender, EventArgs e)
{
if (DateRange.Week == m_dateRange)
{
m_dateRange = DateRange.None;
}
else
{
m_dateRange = DateRange.Week;
} getDateRange(m_dateRange, out m_dtFilter_StartTime, out m_dtFilter_EndTime); String strInputText = InputText.ToUpper();
if (SysDefine.FAILED == refreshList(, strInputText))
{
MessageBox.Show(this.ErrorText, "信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
} } //单击本月 查询本月的数据 再点击一下就还原lable的颜色和初始数据
private void labMonth_Click(object sender, EventArgs e)
{
if (DateRange.Month == m_dateRange)
{
m_dateRange = DateRange.None;
}
else
{
m_dateRange = DateRange.Month;
} getDateRange(m_dateRange, out m_dtFilter_StartTime, out m_dtFilter_EndTime); String strInputText = InputText.ToUpper();
if (SysDefine.FAILED == refreshList(, strInputText))
{
MessageBox.Show(this.ErrorText, "信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
} //将当前lable的状态定位四个 未选中 选中day 选中week 选中 Month
private DateRange m_dateRange = DateRange.None;
private enum DateRange
{
None = ,
Day = ,
Week = ,
Month =
} public String InputText
{
get { return ucPages.InputText; }
set { ucPages.InputText = value; }
} private DateTime m_dtFilter_StartTime = DateTime.MinValue;
public DateTime Filter_StartDate
{
get { return m_dtFilter_StartTime; }
} private DateTime m_dtFilter_EndTime = DateTime.MinValue;
public DateTime Filter_EndDate
{
get { return m_dtFilter_EndTime; }
}

根据本周本月本日来查询数据 C#winform数据查询的更多相关文章

  1. MYSQL查询今天昨天本周本月等的数据

    mysql查询本季度 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT *FROM表名WHERE TO_DAYS ...

  2. oracle 查询本周数据生成下周数据

      CreateTime--2018年1月4日16:38:01 Author:Marydon oracle 查询本周数据生成下周数据 第一步:查询指定区间数据 第二步:改变查询结果的值 查询日期字段+ ...

  3. MySQL - 查询今天的数据(以及昨天、本月、上个月、今年...) 查询Datetime 时间的数据

    1,查询当天(今天)的数据 1 SELECT * FROM `order` WHERE TO_DAYS(order_time) = TO_DAYS(NOW()) 2,查询昨天的数据 1 SELECT  ...

  4. Mysql按周,按月,按日,按小时分组统计数据

    按周   select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks;   ...

  5. mysql 查询一个月的数据

    //今天 select * from 表名 where to_days(时间字段名) = to_days(now()); //昨天 SELECT * FROM 表名 WHERE TO_DAYS( NO ...

  6. 关于MYSQL的查询时间段、删除数据、查询目标行的命令用法。

    Q1.第一次工作写命令时,写了一个把一个表的数据插入到另一个表中,运行时命令长时间处于执行状态. A.第一次处理数据库大量数据,长时间按运行属于正常现象,这与学校中的小数据不同. Q2.如何查询数据库 ...

  7. 使用TSQL查询和更新 JSON 数据

    JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)

    系列目录 前言 听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选) 我们都知道Excel中是如何筛选数据的.就像下面一样 他 ...

  9. MYSQL基础操作之数据约束与关联查询

    一.MYSQL约束 1.默认值约束,当字段没有插入值的时候,mysql自动给该字段分配默认值. 默认值的字段允许为空. 对默认值字段也可以插入null. CREATE TABLE STUDENT( I ...

随机推荐

  1. html超级简单实现点赞(收藏)和取消赞效果

    1.前言 我们经常会遇到对一些列表呀进行点赞呀收藏数据等效果呀.今天就用html+css实现超级简单易上手的点赞和取消赞的demo展示. 2.详情 1.css样式 .like{ font-size:6 ...

  2. codeforces 475D. CGCDSSQ

    D. CGCDSSQ time limit per test 2 seconds memory limit per test 256 megabytes Given a sequence of int ...

  3. WordPress中函数钩子hook的作用及基本用法

    WordPress 的插件机制实际上只的就是这个 Hook 了,它中文被翻译成钩子,允许你参与 WordPress 核心的运行,是一个非常棒的东西,下面我们来详细了解一下它.钩子分类 钩子分为两种,一 ...

  4. vue-项目入门

    初入前端的新人在碰到vue.js后,去过官网,估计粗略的看下api文档以后会以为vue的安装只是把那串js代码直接粘贴复制到文档即可,虽然这样是可以,但那在项目中并不合适. 项目中的vue引入(配制安 ...

  5. Java高并发如何解决

    Java高并发如何解决 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧 ...

  6. Redux源码分析之combineReducers

    Redux源码分析之基本概念 Redux源码分析之createStore Redux源码分析之bindActionCreators Redux源码分析之combineReducers Redux源码分 ...

  7. 表达式求值(二叉树方法/C++语言描述)(三)

    二叉树方法求值对运算数处理的方法与栈方法求值不太相同,除了将字符串中的运算数转换为浮点类型外,还需要生成新的节点: void Calculator::dealWithNumber(char *& ...

  8. 为Tornado框架加上基于Redis或Memcached的session 【第三方】

    Tornado 没有session,只有cookie_secret,这在一些情况下是不利于开发的.所有我们可以给Tornado加上session的功能. 这篇文章讲解的是依靠第三方包来实现.以后的文章 ...

  9. 史上最全的java随机数生成算法[转载]

    package com.zuidaima.core.util; import java.util.Random; public class RandomUtil { public static fin ...

  10. Shell - 简明Shell编程

    本文是对Shell脚本编程的总结和回顾,所有涉及的脚本均已做了基本的调试和验证. [toc] 测试环境信息 [root@CentOS7 ~]# uname -a Linux CentOS7 3.10. ...