ASP.NET同一窗口中不同功能界面的实现和切换

 

一.      概述

2009.7.27做成。在同一个窗口中可以实现两个不同的功能,一方面可以查询投诉信息,另一方面可以统计投诉信息并进行环比统计。两个不同功能的界面又两个对应的按钮进行切换。

二.      同一窗口中不同界面的切换

1.       要在界面上设计两个按键分别对应投诉信息查询统计和环比改善统计。

2.       在原先已有的投诉查询统计的基础上进行完善,加入一个新的table,命名为table2。表格里加入一个dropdownlist用来选择部门,一个textbox用来选择时间,同时还有两个按键分别用来查询和保存EXCEL。还有一个GRIDVIEW。至此在aspx中的设计结束。

3.       在默认的page_load时只出现第一个界面,此时只要将table2visible设为false。切换部分主要由两个界面按钮的触发事件CHANGE1_clickCHANGE2_click完成。由于默认出现的是第一个界面,所以CHANGE2_click可以将界面切换到第二个。

4.       切换主要要做的事情就是将前两个GRIDVIEWvisible设为false。同时清空dropdownlist的历史,并通过数据库的选择加入新的内容。方法为:1)声明一个DATATABLE结构,将odb(ORACLEDB结构).getdatatableSQL语句)的内容赋给此结构。2)通过foreach语句,对DATATABLE.rows的每一个DATAROW结构进行循环,将其逐一放入dropdownlist中。

5.       另外就是将默认时间设为系统时间的前一天,方法为:1)通过datatime.now将现在的时间赋给一个datatime结构today中,2)通过today.AddDays(-1) .ToString("yyyy-MM-dd")将时间减一天并转换成字符串加入textbox中。

      6.       CHANGE1_click的转换就要好办很多,只要设好每一项的可见不可见就可以了。因为改加载的都在page_load的时候加载好了。

三.      新加入界面的功能实现

功能主要有两个,一个就是查询环比,另一个是保存。

1.       查询环比主要就是一个dataset的过程。由于限制条件是时间和部门,所以需要用一个DATATIMEA结构和一个string结构分别储存从界面上选择的这两个指标。首先判定部门的SelectedIndex是否为0,如果为0,则默认为所有部门,如果不为0,则用该string储存选到的部门,即部门的text。判断语句存储到hideSQL.Text中。

2.       然后新建一个数据库链接,1)通过odb.getDataSet(hideSQL.Text)将执行结果放到一个dataset结构之中,2)将此dataset赋给对应的gridviewdatasource3)对gridview执行databind即可。

3.       注意SQL语句的写法,如果想要同时得到分别的数目和合计,可以通过union all选择这两项,只不过对应合计的那个框的内容select的内容是合计即可。合计使用sum函数。

4.       要注意的就是hideSQL.Text的内容要在每切换一次界面的时候清零,否则选择语句将会有问题。

5.       保存的方法与第一个界面相同,所以没有特别关注。只是注意到如果第一次保存不成功会出现一个label表示出错信息,如果第二次成功了出错信息却不会消掉,所以对其进行处理,在成功的时候设为不可见,就不会继续保留出错信息了。

posted on 2009-08-01 20:57  灰原  阅读(1511)  评论(0编辑  收藏  举报

导航