领导给了我一个大方向的思路,就是将数据库中的一张表显示到界面上,这张表很大,一天可能有过万条新数据进来。
领导让我做一个domo出来,在界面显示数据之前,要先输入一些限定条件,然后点击按钮进行对数据库的筛选,显示到界面上。
他想要的是                  年度
                 季度
                 月份
                 7日
然后选择上述任意一项,会出现相应不同的时间范围设定。我昨天觉得他的意思是“本年度” “本季度” “本月份” 和“本周”。因为这样对应着随后出现时间范围选择顺理成章的成立。但仔细想一想,这样做的话有局限性,比如到了2011年1月1日,这个时候再去用“本年度”“本月份”去查询的话,就没有什么意义了,因为根本就查不到什么数据。我现在的想法是
   将上述的四个选项放在一个dropdownlist中,点击某一项以后,和另外两个dropdownlist关联起来(dropdownlist2用来输入开始时段 dropdownlist2用来输入结束时段)。
举个例子:dropdownlist1
                 年度         —>对应dropdownlist2和dropdownlist3的内容都是 2001 2002 2003~2010  (假设数据库起始是2010,今年是2010年)
                 季度         —>对应dropdownlist2和dropdownlist3的内容都是  第1季度 第2季度 第3季度 第4季度
                 月份         —>对应dropdownlist2和dropdownlist3的内容都是  1月 2月~~~~12月               
                 7日          —>这个我还没有想好,感觉用不到dropdownlist2和dropdownlist3,只去查询表中七天前到今天的数据。不知道我的思路是否合理,就我上述想实现的这些功能,从技术的角度讲是否可行。
希望高手说说自己的想法。
万分感激!!!!!

解决方案 »

  1.   

    那些都是获取时间范围
    public static void GetPeriod(int p, out DateTime beginDate, out DateTime endDate)
            {
                int year = DateTime.Today.Year;
                int month = DateTime.Today.Month;
                 switch (i)
                 {
                    case 0: //年
                        beginDate = new DateTime(year, 1, 1);
                        endDate = new DateTime(year, 12, 31); 
                        break;
                    case 1: //月
                         beginDate = new DateTime(year, month, 1);
                      endDate = beginDate.AddMonths(1).AddDays(-1);
                      break;
                    case 2: //周
                           int week = (int)DateTime.Today.DayOfWeek;
                        if (week == 0) week = 7; //周日
                           beginDate = DateTime.Today.AddDays(-(week - 1));
                        endDate = beginDate.AddDays(6);
                        break;
                    default: //日
                        beginDate = DateTime.Today;
                     endDate = DateTime.Today;
                      break;
                }
            }        
      

  2.   

    前三个用dropdownlist,最后一个七日用个linkbutton即可