📄 projectdetails.aspx.cs
字号:
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 + -