根据本周本月本日来查询数据 C#winform数据查询

2017-09-12 12:13:03来源:cnblogs.com作者:安东家的安东人点击

分享

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

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

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

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

本日  labDay  本周  labWeek 本月  labMonth

代码如下

  1 public partial class frmSelCase  2     {  3          private List<Label> m_lstLabel = new List<Label>();  4      }  5   6 //单数次颜色变为蓝色  偶数次颜色为默认色  7 bool[] labelClick = { false, false, false };  8   9 private void initControls() 10         { 11             //三个lable的点击事件 12             labDay.Click += new EventHandler(labDay_Click); 13             labWeek.Click += new EventHandler(labWeek_Click); 14             labMonth.Click += new EventHandler(labMonth_Click); 15  16             initResonArray(); 17             for (int i = 0; i < m_lstLabel.Count; i++) 18             { 19                 Label labLeaveReson = m_lstLabel[i]; 20                 labLeaveReson.Click += new EventHandler(lab_Click); 21             } 22          } 23  24 private void initResonArray() 25         { 26             m_lstLabel.Add(labDay); 27             m_lstLabel.Add(labWeek); 28             m_lstLabel.Add(labMonth); 29         } 30  31 //将切换了lable颜色的事件我写到了一起 32  33  private void lab_Click(object sender, EventArgs e) 34         { 35             if (null == m_lstLabel) return; 36             if (null == sender) return; 37             Label labCurClick = (Label)sender; 38  39             for (int i = 0; i < m_lstLabel.Count; i++) 40             { 41                 Label labReson = m_lstLabel[i]; 42  43                 if (labReson.Name == labCurClick.Name && labelClick[i] == false) 44                 { 45                     if (labReson.BackColor != Color.FromArgb(16, 155, 246)) labReson.BackColor = Color.FromArgb(16, 155, 246); 46                     if (labReson.ForeColor != Color.FromArgb(255, 255, 255)) labReson.ForeColor = Color.FromArgb(255, 255, 255); 47                     labelClick[i] = true; 48                 } 49                 else 50                 { 51                     if (labReson.BackColor != Color.FromArgb(217, 229, 238)) labReson.BackColor = Color.FromArgb(217, 229, 238); 52                     if (labReson.ForeColor != Color.FromArgb(17, 95, 124)) labReson.ForeColor = Color.FromArgb(17, 95, 124); 53                     labelClick[i] = false; 54                 } 55             } 56         } 57  58 //获取时间段 59   private void getDateRange(DateRange range, out DateTime startTime, out DateTime endTime) 60         { 61             startTime = DateTime.MinValue; 62             endTime = DateTime.MinValue; 63  64             DateTime dtNow = DateTime.Now; 65  66             switch (range) 67             { 68                 case DateRange.Day: 69                     startTime = dtNow.Date; 70                     endTime = dtNow.AddDays(1).AddSeconds(-1); 71                     break; 72                 case DateRange.Week: 73                     startTime = dtNow.Date.AddDays(1 -Convert.ToInt32(dtNow.DayOfWeek.ToString("d"))); 74                     endTime = startTime.AddDays(7).AddSeconds(-1); 75                     break; 76                 case DateRange.Month: 77                     startTime = dtNow.Date.AddDays(1 - DateTime.Now.Date.Day); 78                     endTime = startTime.AddMonths(1).AddSeconds(-1); 79                     break; 80                 case DateRange.None: 81                 default: 82                     break; 83             } 84         } 85  86 //单击本日 查询本日的数据 再点击一下就还原lable的颜色和初始数据 87    private void labDay_Click(object sender, EventArgs e) 88         { 89             if (DateRange.Day == m_dateRange) 90             { 91                 m_dateRange = DateRange.None; 92             } 93             else 94             { 95                 m_dateRange = DateRange.Day; 96             } 97             getDateRange(m_dateRange, out m_dtFilter_StartTime, out m_dtFilter_EndTime); 98             String strInputText = InputText.ToUpper(); 99             if (SysDefine.FAILED == refreshList(0, strInputText))100             {101                 MessageBox.Show(this.ErrorText, "信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);102             }103         }104 105 //单击本周 查询本周的数据 再点击一下就还原lable的颜色和初始数据106         private void labWeek_Click(object sender, EventArgs e)107         {108             if (DateRange.Week == m_dateRange)109             {110                 m_dateRange = DateRange.None;111             }112             else113             {114                 m_dateRange = DateRange.Week;115             }116 117             getDateRange(m_dateRange, out m_dtFilter_StartTime, out m_dtFilter_EndTime);118 119             String strInputText = InputText.ToUpper();120             if (SysDefine.FAILED == refreshList(0, strInputText))121             {122                 MessageBox.Show(this.ErrorText, "信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);123             }124            125         }126 127 //单击本月 查询本月的数据 再点击一下就还原lable的颜色和初始数据128         private void labMonth_Click(object sender, EventArgs e)129         {130             if (DateRange.Month == m_dateRange)131             {132                 m_dateRange = DateRange.None;133             }134             else135             {136                 m_dateRange = DateRange.Month;137             }138 139             getDateRange(m_dateRange, out m_dtFilter_StartTime, out m_dtFilter_EndTime);140 141             String strInputText = InputText.ToUpper();142             if (SysDefine.FAILED == refreshList(0, strInputText))143             {144                 MessageBox.Show(this.ErrorText, "信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);145             }146         }147 148 //将当前lable的状态定位四个  未选中  选中day  选中week  选中 Month149   private DateRange m_dateRange = DateRange.None;150   private enum DateRange151     {152       None = 0,153       Day = 1,154       Week = 2,155       Month = 3156     }157 158   public String InputText159     {160      get { return ucPages.InputText; }161      set { ucPages.InputText = value; }163     }164 165   private DateTime m_dtFilter_StartTime = DateTime.MinValue;166   public DateTime Filter_StartDate167     {168      get { return m_dtFilter_StartTime; }169     }170 171   private DateTime m_dtFilter_EndTime = DateTime.MinValue;172   public DateTime Filter_EndDate173     {174      get { return m_dtFilter_EndTime; }175     }

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台