⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tasklist.aspx.cs

📁 用dot net 构建的可以商用的办公自动化软件
💻 CS
📖 第 1 页 / 共 3 页
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using UDS.Components;

namespace UDS.SubModule.Schedule
{
	/// <summary>
	/// TaskList 的摘要说明。
	/// </summary>
	public class TaskList : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.DataGrid dgList;
		public  string Username="",ActualUsername="";
		protected string Action;
		protected System.Web.UI.HtmlControls.HtmlTable  tblContainer;
		protected System.Web.UI.WebControls.LinkButton lnkbtnToday;
		protected System.Web.UI.WebControls.LinkButton lnkbtnHistory;
		protected System.Web.UI.WebControls.LinkButton lnkbtnFinished;
		protected System.Web.UI.WebControls.Button btnNew;
		protected System.Web.UI.WebControls.Button btnAccept;
		protected System.Web.UI.WebControls.Button btnCancel;
		protected System.Web.UI.WebControls.DropDownList listStaff;
		protected System.Web.UI.WebControls.Button btnSubscribe;
		protected System.Web.UI.WebControls.LinkButton Linkbutton1;
		protected System.Web.UI.WebControls.Table Table1;
		protected System.Web.UI.WebControls.Button btnWeeklyView;
		protected System.Web.UI.WebControls.Label lblInstru;
		public static int displayType;
		protected System.Web.UI.WebControls.Button btnCancelSubscription;
		protected System.Web.UI.WebControls.LinkButton lnkbtnArranged;
		public static string SchBeginDate;
		private void Page_Load(object sender, System.EventArgs e)
		{			
			
			if(!Page.IsPostBack)
			{
				HttpCookie UserCookie = Request.Cookies["Username"];
				if(Session["Username"]==null)
				{
					Session["Username"] = UserCookie.Value.ToString();
				}
				ActualUsername = UserCookie.Value.ToString();	
				Session["ActualUsername"] = ActualUsername;
				Username = (string)Session["Username"];

				populateData();
				SetStatus();	
				displayType  = Request.QueryString["displayType"]!=null?Int32.Parse(Request.QueryString["displayType"]):1;
				SchBeginDate = Request.QueryString["SchBeginDate"]!=null?Request.QueryString["SchBeginDate"]:DateTime.Today.AddDays(-(Convert.ToInt32(DateTime.Today.DayOfWeek))+1).ToShortDateString();
				if(Request.QueryString["SchBeginDate"]!=null)
				{
					this.lnkbtnFinished .Enabled = false;
					this.lnkbtnHistory .Enabled  = false;
					this.lnkbtnToday .Enabled	 = false;
					this.Linkbutton1.Enabled	 = false;
					this.btnAccept .Enabled		 = false;
					this.btnCancel.Enabled	     = false;
					this.btnNew .Enabled		 = false;
					this.lnkbtnArranged .Enabled = false;
					this.btnWeeklyView .Text	 = "返回";
					PopulateWeeklyData();
				
				}
				else
				{
					InitData();
				}
				
				
				//Response.Write(DateTime.Today.AddDays(-(Convert.ToInt32(DateTime.Today.DayOfWeek))+1).ToShortDateString()); 
			}
			else
			{
			
				//				if(Page.FindControl("Table1").ID=="")
				//PopulateDateToTable(Calendar1.SelectedDate ,Calendar1.SelectedDates .Count);
				
				
			}
	
			//Response.Write(Session["Username"].ToString());
		
		}

		private void InitData()
		{
			Username = (string)Session["Username"];

			this.tblContainer.Rows[0].Cells[0].Attributes.Add("background","../../images/maillistbutton2.gif");
			this.btnNew.Attributes["onclick"]= "var newwin=window.open('Manage.aspx','newtask','toolbar=yes,scrollbars=yes,width=800,height=600,resizable=yes');newwin.moveTo(0,0);newwin.focus();";
				
				
			Task task = new Task();
			this.dgList.Visible = true;
			this.btnAccept .Visible = true;
			this.btnCancel.Visible = true;
			
			//this.lnkbtnAdd.Attributes.Add("onclick","return dialwinprocess('"+DateTime.Today.ToShortDateString()+"','8','1','0')");
			//this.lnkbtnAdd.Attributes.Add("onclick","self.location='CalendarView.aspx?Action=1';return true;");
			DataTable mydb = Tools.ConvertDataReaderToDataTable(task.GetAllTaskBySomeone(DateTime.Today.ToShortDateString(),Username,displayType));
			this.dgList .DataSource = mydb.DefaultView;
			this.dgList.DataBind();
			setgrid();
			mydb.Dispose();
			for(int t=0;t<4;t++)
			{
				if(t==displayType-1)
					this.tblContainer.Rows[0].Cells[t].Attributes.Add("background","../../images/maillistbutton2.gif");
				else
					this.tblContainer.Rows[0].Cells[t].Attributes.Add("background","../../images/maillistbutton1.gif");
			}
		}

		private void PopulateWeeklyData()
		{
			this.dgList .Visible = false;
			this.lblInstru .Visible = false;
			this.Table1 .Visible = true;
		
			

			this.Table1.Rows.Clear();
			//Response.Write("<table width=\"49%\" border=\"1\" align=\"center\" class=\"top\"><tr><td width=\"2%\"  bgcolor=\"#A692F5\">&nbsp;</td>	<td width=\"18%\">未确认任务</td> <td width=\"2%\" bgcolor=\"BlanchedAlmond\">&nbsp;</td> <td width=\"18%\">已确认任务</td></tr></table>");
			//System.Globalization.DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek = System.DayOfWeek.Monday;
			//System.Globalization.DateTimeFormatInfo.CurrentInfo.DayNames=new String[]{"七","一","二","三","四","五","六"};
			PopulateDateToTable(DateTime.Parse(SchBeginDate),6);
		}


		#region 绑定数据至表格
		public void PopulateDateToTable(DateTime sDate,int dayCount)
		{
			
			string Username = (string)Session["Username"];
			string[] UnameStr = System.Text.RegularExpressions.Regex.Split(Username,",");					
			Task task = new Task();
		
			#region 初始化日程数据	
			int[][] TaskData = new int[1][];
			Hashtable htcolorlist = new Hashtable();
			// 初始化天数据至ArrayList
			//			ArrayList demoDayData = new ArrayList();	
			//			demoDayData.Add(9);
			//			demoDayData.Add(10);
			//			demoDayData.Add(11);
			//			demoDayData.Add(12);
			
			
			//			int[][] TaskData = new int[5][];  //每日的任务数据
			//			TaskData[0] = new int[]{0,0,0,0,0,13,14,15,16,17,18};
			//			TaskData[1] = new int[]{8,9,10,11,0,0,0,0,0,0,0};
			//			TaskData[2] = new int[]{0,9,10,11,12,13,0,0,0,0,0};
			//			TaskData[3] = new int[]{8,9,10,11,12,13,14,15,0,0,0};
			//			TaskData[4] = new int[]{0,0,0,0,0,0,0,0,0,17,18};
			//			demoData[5] = new int[]{0,0,0,0,0,0,0,0};
			//			demoData[6] = new int[]{0,0,0,0,0,0,0,0};
			//			demoData[7] = new int[]{0,0,0,0,0,0,0,0};
			// 生成行和单元格
			ArrayList DaySch = new ArrayList(dayCount+1);//根据选择的天数生成数组 加1是因为会增加一信息列
			ArrayList DayTask = new ArrayList(dayCount+1); //记录每天的前五条任务ID
			DaySch.Add(new int[5][]);  //加入一个废列
			DayTask.Add(new String[5]);
			for(int p=0;p<dayCount;p++)
			{
				TaskData = new int[5][];
				string tmpDate = sDate.AddDays(p).ToString();
				String[] a = new String[5];
				a = task.GetTop5DayTaskList(tmpDate,UnameStr[0].ToString());

				//	TaskData[0] = new int[]{0,0,0,0,0,13,14,15,16,17,18};
				//				TaskData[1] = new int[]{8,9,10,11,0,0,0,0,0,0,0};
				//				TaskData[2] = new int[]{0,9,10,11,12,13,0,0,0,0,0};
				//				TaskData[3] = new int[]{8,9,10,11,12,13,14,15,0,0,0};
				//				TaskData[4] = new int[]{0,0,0,0,0,0,0,0,0,17,18};
				for(int k=0;k<a.Length;k++)
				{
					TaskData[k] = task.GetTaskPeriod(tmpDate,UnameStr[0],Int32.Parse(a[k].ToString()));
				}
				DaySch.Add(TaskData);
				DayTask.Add(a);			
			}
			
			#endregion
		
			
			int numcells = dayCount;
			//	int startTimeNo = 8;	
			SqlDataReader dataReader = null;
			dataReader =  task.GetPeriodInfo();
			ArrayList period = new ArrayList();
			while(dataReader.Read())
				period.Add(dataReader[1].ToString());
			int numrows = period.Count;
		
		
			
			//  初始化表头
		
			TableRow r = new TableRow();
			// 生成一个第一列,列头为时间
			TableCell c = null;
					
			if(Username!="")
			{
			
				
				for (int i=0; i<numcells+1; i++) 
				{
				
					string s = sDate.AddDays(i-1).ToShortDateString()==DateTime.Today.ToShortDateString()?"<font color=white><b>"+DateTime.Today.ToShortDateString()+"</b></font>":sDate.AddDays(i-1).ToShortDateString();
					LiteralControl lc = new LiteralControl((i==0)?"<font color=white>&nbsp;&nbsp; 时段&nbsp;&nbsp;&nbsp;    ":"<font color=white>"+s+"&nbsp;&nbsp;&nbsp;"+UDS.Components.Tools.ConvertDayOfWeekToZh(sDate.AddDays(i-1).DayOfWeek)+"</font>");
					if(i==numcells)
						lc.Text +="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=tasklist.aspx?SchBeginDate="+DateTime.Parse(SchBeginDate).AddDays(-7).ToShortDateString()+"><font color=white size=3><</font></a>&nbsp;&nbsp;&nbsp; <a href=tasklist.aspx?SchBeginDate="+DateTime.Parse(SchBeginDate).AddDays(7).ToShortDateString()+"><font color=white size=3>></font></a>";
					c = new TableCell();
					c.CssClass = "top";
					c.BackColor = Color.FromName("#337FB2");
					c.Controls.Add(lc);	
					r.Cells.Add(c);
				}
				Table1.Rows.Add(r);
				// 初始化表头结束

				// 根据时间段共生成8行
				for (int j=0; j<numrows; j++) 
				{
            
					r = new TableRow();
                
					// 每行根据选择的天数生成列
					for (int i=0; i<dayCount+1; i++) 
					{
					

						c = new TableCell();
					
						Table newtable = new Table();
					
						if (i==0)
							if(j%2==0)
							{
								string []a = period[j].ToString().Split('-');
								c.Controls.Add(new LiteralControl("<div style='position:absolute; width:86px; height:76px; z-index:1'><font size=3>"+a[0].ToString()+"</font></div>"));
							}
							else
								c.Controls.Add(new LiteralControl("-"));
						else
						{ //如果不是第一列
					
							//					newtable.BorderWidth = 0;
							//newtable.GridLines = System.Web.UI.WebControls .GridLines.Vertical;
							// 在某列中新table设置开始
							newtable = new Table();
							TableRow nr = new TableRow();
			
							for(int q=0;q<TaskData.Length;q++)
							{
								
								int[][] tmp =  (int[][])DaySch[i];
								String[] a = (String[])DayTask[i];
								TableCell nc = new TableCell();
								
								bool flag=false;
							//	string col = "";
								string taskid = "";
								
								
								// 遍历五个任务时间数组,看有没有被占
								for(int co=0;co<TaskData.Length;co++)
								{
									if(Int32.Parse(tmp[co][j].ToString())!=0)
									{	
										flag = true;
										taskid = a[co].ToString();
									}
								}
							
								if(flag)
								{
								
									nc.Controls.Add(new LiteralControl("<font color=#C597DD>0"+"</font>"));
									nc.BackColor=Color.FromName("#C597DD");
									nc.Style.Add("cursor","hand");
										nc.Attributes.Add("onclick","return dialwinprocess('"+sDate.AddDays(i-1).ToShortDateString()+"','"+(8+j).ToString()+"','2','"+taskid+"')");
							

								}
								else
								{
								
									nc.Controls.Add(new LiteralControl("<font color=#FFFFFF>0</font>"));
								
								}
								nr.Cells.Add(nc);
				
							}					
					
					
							newtable.CellPadding = 0;
							newtable.CellSpacing = 0;
							newtable.GridLines = System.Web.UI.WebControls .GridLines.Both;
							newtable.BorderWidth = 0;
							newtable.Rows.Add(nr);
							// 新table设置结束
				
							c.Controls.Add(newtable);
						}

						r.Cells.Add(c);
					}
					Table1.CellPadding = 0;
					Table1.CellSpacing = 0;
					Table1.GridLines = System.Web.UI.WebControls .GridLines.Horizontal;
					Table1.BorderWidth = 1;
					Table1.Rows.Add(r);
				
				}

			}
		
		}

		#endregion

		public void SetStatus()
		{
			string Username = (string)Session["Username"];
			string ActualUsername = (string)Session["ActualUsername"];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -