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

📄 projectdetails.aspx.cs

📁 《ASP.NET办公自动化系统开发实例导航》一书附带的光盘
💻 CS
📖 第 1 页 / 共 2 页
字号:
			
			if (prj.Save())
			{
				ReturnToProjectList();
			}
			else
			{
				ErrorMessage.Text = "产生一个错误,你不能去除已经参与该项目进程的成员!";
			}
		}

		private void AddButton_Click(object sender, System.EventArgs e)
		{
			if (!AbbrevCustomValidator.IsValid)
				return;

			if (CategoryName.Text == "")
			{
				CategoryErrorMessage.Text = "Category name is required.";
				return;
			}

			if (Abbrev.Text == "")
			{
				CategoryErrorMessage.Text = "Category abbreviation is required.";
				return;
			}

			CategoriesCollection catArray = (CategoriesCollection)Session["catArray"];
			if (catArray == null) 
				catArray = new CategoriesCollection();
			int catID = (Session["catID"] != null) ? (Convert.ToInt32(Session["catID"]) - 1) : -1;
			Session["catID"] = catID;

			Category cat = new Category();
			cat.CategoryID = catID;
			cat.Name = CategoryName.Text;
			cat.Abbreviation = Abbrev.Text;
			cat.EstDuration = (CatDuration.Text.Length==0) ? 0 : Convert.ToDecimal(CatDuration.Text);
			catArray.Add(cat);
			ProjectsGridCustomValidator.Validate();
			BindCategoriesGrid(catArray);
			CategoryName.Text = string.Empty;
			Abbrev.Text = string.Empty;
			CatDuration.Text = string.Empty;
		}

		private void CopyButton_Click(object sender, System.EventArgs e)
		{
			int catID;
			CategoriesCollection catArray = (CategoriesCollection)Session["catArray"];
			if (catArray == null) 
				catArray = new CategoriesCollection();

			CategoriesCollection projcatArray = Project.GetCategories(Convert.ToInt32(Projects.SelectedItem.Value));
			foreach (Category cat in projcatArray)
			{
				catID = (Session["catID"] != null) ? (Convert.ToInt32(Session["catID"]) + 1) : 1;
				Session["catID"] = catID;
				cat.CategoryID = catID;
				catArray.Add(cat);
			}

			ProjectsGridCustomValidator.Validate();

			Session["catArray"] = catArray;

			BindCategoriesGrid(catArray);
		}

		protected void CategoriesGrid_OnDelete(Object sender, DataGridCommandEventArgs e)
		{
			int catID = Convert.ToInt32(CategoriesGrid.DataKeys[(int)e.Item.ItemIndex]);
			CategoriesCollection catArray = (CategoriesCollection)Session["catArray"];

			for (int i = 0;i < catArray.Count;i++)
			{
				if (((Category)catArray[i]).CategoryID == catID)
				{
					catArray.RemoveAt(i);
				}
			}

			BindCategoriesGrid(catArray);
		}

		protected void CategoriesGrid_OnCancel(Object sender, DataGridCommandEventArgs e)
		{
			CategoriesGrid.EditItemIndex = -1;

			BindCategoriesGrid((CategoriesCollection)Session["catArray"]);		
		}

		protected void CategoriesGrid_OnUpdate(Object sender, DataGridCommandEventArgs e)
		{
			Category editCat = new Category();
			editCat.CategoryID = Convert.ToInt32(CategoriesGrid.DataKeys[(int)e.Item.ItemIndex]);
			editCat.Name = ((TextBox) e.Item.FindControl("EditName")).Text;
			editCat.Abbreviation = ((TextBox) e.Item.FindControl("EditAbbreviation")).Text;
			editCat.EstDuration = Convert.ToDecimal(((TextBox) e.Item.FindControl("EditDuration")).Text);

			CategoriesCollection catArray = (CategoriesCollection)Session["catArray"];
			if (catArray != null) 
			{
				string editAbbrev = ((TextBox) e.Item.FindControl("EditAbbreviation")).Text;
				foreach (Category cat in catArray)
				{
					if (cat.Abbreviation == editCat.Abbreviation && cat.CategoryID != editCat.CategoryID)
					{
						CategoryErrorMessage.Text = "项目进程简称不能重复!";
						return;
					}
				}
			}

			CategoriesCollection catNew = new CategoriesCollection();

			catNew.Add(editCat);

			if (catArray == null) 
				catArray = new CategoriesCollection();
			foreach (Category cat in catArray)
			{
				if (cat.CategoryID != editCat.CategoryID)
				{
					catNew.Add(cat);
				}
			}

			CategoriesGrid.EditItemIndex = -1;
			BindCategoriesGrid(catNew);
		}
		
		protected void CategoriesGrid_OnEdit(Object sender, DataGridCommandEventArgs e)
		{
			CategoriesGrid.EditItemIndex = e.Item.ItemIndex;

			BindCategoriesGrid((CategoriesCollection)Session["catArray"]);
		}

		private void CategoriesGrid_Sort(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
		{
			SortField = e.SortExpression;

			BindCategoriesGrid((CategoriesCollection)Session["catArray"]);
		}

		private void ValidateCategories(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
		{
			CategoriesCollection catArray = (CategoriesCollection)Session["catArray"];
			if (catArray != null) 
			{
				if (catArray.Count > 0)
				{
					args.IsValid = true;
					return;
				}
			}
			args.IsValid = false;
		}

		private void AbbrevCustomValidator_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
		{
			CategoriesCollection catArray = (CategoriesCollection)Session["catArray"];
			if (catArray.Count != 0) 
			{
				catArray.Sort(CategoriesCollection.CategoryFields.Abbreviation, true);
				for(int i=0; i < catArray.Count; i++)
				{
					if (((Category)catArray[i]).Abbreviation == Abbrev.Text)
					{
						args.IsValid = false;
						return;
					}
					if (i!=0 && ((Category)catArray[i]).Abbreviation == ((Category)catArray[i-1]).Abbreviation )
					{
						args.IsValid = false;
						return;
					}
					
				}
				
				
			}
			args.IsValid = true;
		}

		private void CategoriesGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
		{
			if (e.Item.ItemType	== ListItemType.Item || e.Item.ItemType	== ListItemType.AlternatingItem)
			{
				((ImageButton)e.Item.FindControl("CatDeleteButton")).Attributes.Add("onclick", "return confirm('删除此条项目进程将删除相关的进程日志或进程信息,确认在删除吗?')");
			}
		}

		string SortField 
		{
			get 
			{
				object o = ViewState["SortField"];
				if (o == null) 
				{
					return String.Empty;
				}
				return (string)o;
			}

			set 
			{
				if (value == SortField) 
				{
					SortAscending = !SortAscending;
				}
				ViewState["SortField"] = value;
			}
		}

		bool SortAscending 
		{
			get 
			{
				object o = ViewState["SortAscending"];
				if (o == null) 
				{
					return true;
				}
				return (bool)o;
			}

			set 
			{
				ViewState["SortAscending"] = value;
			}
		}
	}
}

⌨️ 快捷键说明

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