根据本周本月本日来查询数据 C#winform数据查询
这个我是在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数据查询的更多相关文章
- MYSQL查询今天昨天本周本月等的数据
mysql查询本季度 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT *FROM表名WHERE TO_DAYS ...
- oracle 查询本周数据生成下周数据
CreateTime--2018年1月4日16:38:01 Author:Marydon oracle 查询本周数据生成下周数据 第一步:查询指定区间数据 第二步:改变查询结果的值 查询日期字段+ ...
- MySQL - 查询今天的数据(以及昨天、本月、上个月、今年...) 查询Datetime 时间的数据
1,查询当天(今天)的数据 1 SELECT * FROM `order` WHERE TO_DAYS(order_time) = TO_DAYS(NOW()) 2,查询昨天的数据 1 SELECT ...
- Mysql按周,按月,按日,按小时分组统计数据
按周 select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; ...
- mysql 查询一个月的数据
//今天 select * from 表名 where to_days(时间字段名) = to_days(now()); //昨天 SELECT * FROM 表名 WHERE TO_DAYS( NO ...
- 关于MYSQL的查询时间段、删除数据、查询目标行的命令用法。
Q1.第一次工作写命令时,写了一个把一个表的数据插入到另一个表中,运行时命令长时间处于执行状态. A.第一次处理数据库大量数据,长时间按运行属于正常现象,这与学校中的小数据不同. Q2.如何查询数据库 ...
- 使用TSQL查询和更新 JSON 数据
JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)
系列目录 前言 听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选) 我们都知道Excel中是如何筛选数据的.就像下面一样 他 ...
- MYSQL基础操作之数据约束与关联查询
一.MYSQL约束 1.默认值约束,当字段没有插入值的时候,mysql自动给该字段分配默认值. 默认值的字段允许为空. 对默认值字段也可以插入null. CREATE TABLE STUDENT( I ...
随机推荐
- 【原创】09. easyui-tabs 配合 iframe 使用,请求两次等问题
描述 需要把已经做好的几个设备管理页面.转为子菜单管理:直接使用 easyui-tabs 配合 iframe 是最省时省力的. 存在问题 当点击 "设备管理" 会出现子页面多次加载 ...
- C++写#pragma warning(disable 4786)的作用
C++编程时,在使用STL(C++标准模板库)的时候经常引发类似的错误,尤其是vector,map这类模板类,模板中套模板,一不小心就很长了. 当命名超过C++规定范围255字符时,就会产生这个名为d ...
- SSH项目过一段时间之后再访问会报一次Could not open Hibernate session for transaction 异常,Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlyi,再重新方法即可访问成功(通常出现在过了一晚之后再去访问系统)
前端时间到客户那去进行项目的上线测试,将项目部署好之后,运行都是正常的,可是每到了第二天早上访问的时候,就会报一个Could not open Hibernate session for transa ...
- c++STL(栈、队列)
栈stack -先入后出FILO 栈可以理解为一个坑,先掉坑里的被压在下面,等上面的走了才能出来 头文件 <stack> 入栈 push(某东西); 栈顶元素出栈 pop(); 是否为空 ...
- Entity Framework Core 2.0 新特性
本文翻译来自:https://docs.microsoft.com/en-us/ef/core/what-is-new/index 一.模型级查询过滤器(Model-level query filte ...
- layer弹出层详解
前言:学习layer弹出框,之前项目是用bootstrap模态框,后来改用layer弹出框,在文章的后面,我会分享项目的一些代码(我自己写的). layer至今仍作为layui的代表作,她的受众广泛并 ...
- 程序设计中的数学思维函数总结(代码以C#为例)
最近以C#为例,学习了程序设计基础,其中涉及到一些数学思维,我们可以巧妙的将这些逻辑问题转换为代码,交给计算机运算. 现将经常会使用到的基础函数做一总结,供大家分享.自己备用. 1.判断一个数是否为奇 ...
- MYSQL updatexml报错注入
首先了解下updatexml()函数 UPDATEXML (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为X ...
- 你不可不看的Android开发命名规范
标识符命名法最要有四种: Camel(骆驼)命名法:除首单词外,其余所有单词的第一个字母大写,如:fooBar; Pascal命名法:所有单词的第一个字母大写,如:FooBar: 下划线命名法:单词与 ...
- Python学习笔记1:数据模型和特殊方法(魔术方法)
首先不要脸的放上个人网站:www.comingnext.cn 1.关于数据模型 在Python的官方文档中是这样说的: 对象是Python对数据的抽象.Python程序中所有数据都由对象或对象之间的关 ...