这个我是在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. 再起航,我的学习笔记之JavaScript设计模式01

    我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 在通 ...

  2. LigerUI LigerGrid getSelectedRows() 多选顺序 不是从上到下修改方法

    1.问题 LigreGrid内部是选中一个,往selected里塞一个, 当执行getSelectedRows() 的时候,会把selected以选中的顺序,返回出来,所以是按照选择顺序返回. 原生代 ...

  3. java考试易错题大全

    常见的Java问题 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Ja ...

  4. [补档]Cube

    Cube 题目 给你一个n×m的棋盘,有一个1×1×2的长方体竖直放在(1,1)上,你可以将其在棋盘上滚动,你的目标是让其竖直放在(n,m)上,问至少需要多少次操作.(放倒.竖直.翻滚) INPUT ...

  5. jquery左右轮播

    <!--------html代码:-----------> <!DOCTYPE html><html><head><title>carous ...

  6. 【javascript】浅谈javaScript的深拷贝

        前言: 最开始意识到深拷贝的重要性是在我使用redux的时候(react + redux), redux的机制要求在reducer中必须返回一个新的对象,而不能对原来的对象做改动,事实上,当时 ...

  7. 浅谈JS中的高级函数

    在JavaScript中,函数的功能十分强大.它们是第一类对象,也可以作为另一个对象的方法,还可以作为参数传入另一个函数,不仅如此,还能被一个函数返回!可以说,在JS中,函数无处不在,无所不能,堪比孙 ...

  8. 使用 Node.js 搭建一个 API 网关

    原文地址:Building an API Gateway using Node.js 外部客户端访问微服务架构中的服务时,服务端会对认证和传输有一些常见的要求.API 网关提供共享层来处理服务协议之间 ...

  9. python学习===将py文件从打包成exe程序

    1.进入要打包的py程序所在文件夹,例如hello.py程序要打包. 2.在同一目录下新建文件setup.py,内容如下: from distutils.core import setup impor ...

  10. sns社交系统ThinkSNS+ 更新至V0.8.2,新增圈子功能

    sns社交系统"ThinkSNS+"于7月15日发布了V0.8.0,含开源版本web+H5,及Android APP和iOS APP客户端. V0.8.2版本将于7月29日(本周六 ...