?? 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 + -