using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using Model; using DataHelp; using DAL; public partial class OtherDefine : System.Web.UI.Page { DataTable dt; DataTable dtGridView; DataTable currentTable; static string stata = ""; static string id = ""; static bool isNew = false; static bool isEdit = false; static bool isEmpty = false; static bool NewPermissions = false; static bool EditPermissions = false; static bool DeletePermissions = false; protected void Page_Load(object sender, EventArgs e) { Response.Cache.SetAllowResponseInBrowserHistory(false); Response.Cache.SetCacheability(HttpCacheability.NoCache); if (!IsPostBack) { if (Session["UserId"] == null || Session["UserName"] == null || Session["Pwd"] == null) { Response.Redirect("Login.aspx"); } else { try { string UserId = Session["UserId"].ToString(); string company = Session["Company"].ToString(); string p = StringHelper.WebPath(HttpContext.Current.Request.PhysicalPath); DataRow drData = Sys_FuncationDAL.FuncationUserId(p, UserId, company); if (drData["IsShow"].ToString() != "1")//是否顯示權限 { Response.Redirect("Error.htm"); } if (drData["IsInsert"].ToString() == "1")//是否有添加權限 { NewPermissions = true; } else { NewPermissions = false; } if (drData["IsUpdate"].ToString() == "1")//是否有修改權限 { EditPermissions = true; } else { EditPermissions = false; } if (drData["IsDelete"].ToString() == "1")//是否有刪除權限 { DeletePermissions = true; } else { DeletePermissions = false; } } catch (Exception) { Response.Redirect("Error.htm", false); } if (id == "") { Load(); } else { Load(id); } } } } protected void Load() { BindTreeView(); DataTable dt = DAL.OtherDefineDAL.GetOtherDefine(); id = dt.Rows[0][0].ToString(); BindGridView(Int32.Parse(id)); DataTable dt1 = DAL.OtherDefineDAL.GetOtherDefine(Int32.Parse(id)); txtItemCode.Text = dt1.Rows[0]["ItemCode"].ToString(); txtItemCName.Text = dt1.Rows[0]["ItemCName"].ToString(); txtItemEName.Text = dt1.Rows[0]["ItemEName"].ToString(); txtItemCode.Enabled = false; txtItemCName.Enabled = false; txtItemEName.Enabled = false; btnCancel.Enabled = false; btnSave.Enabled = false; btnNew.Enabled = NewPermissions; btnEdit.Enabled = EditPermissions; btnDelete.Enabled = DeletePermissions; } protected void Load(string id) { BindTreeView(); BindGridView(Int32.Parse(id)); DataTable dt1 = DAL.OtherDefineDAL.GetOtherDefine(Int32.Parse(id)); txtItemCode.Text = dt1.Rows[0]["ItemCode"].ToString(); txtItemCName.Text = dt1.Rows[0]["ItemCName"].ToString(); txtItemEName.Text = dt1.Rows[0]["ItemEName"].ToString(); txtItemCode.Enabled = false; txtItemCName.Enabled = false; txtItemEName.Enabled = false; btnCancel.Enabled = false; btnSave.Enabled = false; btnNew.Enabled = NewPermissions; btnEdit.Enabled = EditPermissions; btnDelete.Enabled = DeletePermissions; } protected void BindTreeView() { if (TreeView.Nodes.Count != 0) { TreeView.Nodes.Clear(); } dt = DAL.OtherDefineDAL.GetOtherDefine(); //TreeView.DataSource = tb; //TreeView.DataBind(); TreeNode parentNode = new TreeNode(); parentNode.Text = "全部項目"; parentNode.Value = "00001"; TreeView.Nodes.Add(parentNode); if (dt.Rows.Count > 0) { for(int i=0;i<dt.Rows.Count;i++) { TreeNode tn = new TreeNode(); tn.Text = dt.Rows[i]["ItemCName"].ToString(); tn.Value = dt.Rows[i]["ID"].ToString(); //TreeView.Nodes.Add(tn); //node.Expanded = True tn.Expanded = true; parentNode.ChildNodes.Add(tn); } } parentNode.Expanded = true; } protected void BindGridView(int ID) { dtGridView = DAL.OtherDefineDAL.GetOtherDefineB(ID); if (dtGridView.Rows.Count == 0) { currentTable = dtGridView.Copy(); DataRow dr = currentTable.NewRow(); dr["ListCode"] = "請添加數據 "; dr["ListA"] = "請添加數據"; dr["ListB"] = "請添加數據"; dr["ListC"] = "請添加數據"; dr["ListD"] = "請添加數據"; dr["ListE"] = "請添加數據"; currentTable.Rows.Add(dr); DataRow dr1 = currentTable.NewRow(); gvOtherDefine.DataSource = currentTable; gvOtherDefine.DataBind(); Lbmessage.Text = "沒有任何數據,請點擊編輯按鈕并新增數據!"; gvOtherDefine.Columns[6].Visible = false; gvOtherDefine.Columns[7].Visible = false; gvOtherDefine.Columns[8].Visible = false; isEmpty = true; } else { gvOtherDefine.DataSource = dtGridView; gvOtherDefine.DataBind(); gvOtherDefine.Columns[6].Visible = false; gvOtherDefine.Columns[7].Visible = false; gvOtherDefine.Columns[8].Visible = false; Lbmessage.Text = ""; isEmpty = false; } } protected void TreeView_SelectedNodeChanged(object sender, EventArgs e) { // TextBox1.Text = TreeView.SelectedNode.Value.ToString(); if (TreeView.SelectedNode.Value.ToString() != "00001") { DataTable dt1 = DAL.OtherDefineDAL.GetOtherDefine(Int32.Parse(TreeView.SelectedNode.Value.ToString())); txtItemCode.Text = dt1.Rows[0]["ItemCode"].ToString(); txtItemCName.Text = dt1.Rows[0]["ItemCName"].ToString(); txtItemEName.Text = dt1.Rows[0]["ItemEName"].ToString(); gvOtherDefine.EditIndex = -1; BindGridView(Int32.Parse(TreeView.SelectedNode.Value.ToString())); gvOtherDefine.Enabled = true; id = TreeView.SelectedNode.Value.ToString(); Load(id); btnSave.Enabled = false; btnCancel.Enabled = false; btnNew.Enabled = NewPermissions; btnEdit.Enabled = EditPermissions; btnDelete.Enabled = DeletePermissions; } } protected void btnNew_Click(object sender, EventArgs e) { stata = "new"; TreeView.Enabled = false; txtItemCode.Enabled = true; txtItemCName.Enabled = true; txtItemEName.Enabled = true; txtItemCode.Text = ""; txtItemCName.Text = ""; txtItemEName.Text = ""; BindGridView(0); gvOtherDefine.Columns[8].Visible = true; btnEdit.Enabled = false; btnSave.Enabled = true; btnDelete.Enabled = false; btnNew.Enabled = false; btnCancel.Enabled = true; gvOtherDefine.Enabled = false; } protected void btnEdit_Click(object sender, EventArgs e) { stata = "edit"; btnNew.Enabled = false; btnEdit.Enabled = false; btnDelete.Enabled = false; btnSave.Enabled = true; btnCancel.Enabled = true; txtItemCode.Enabled = true; txtItemCName.Enabled = true; txtItemEName.Enabled = true; if (gvOtherDefine.Rows.Count == 1) { //if (((TextBox)(gvOtherDefine.Rows[0].FindControl("lb1"))).Text.ToString() == "請添加數據") //if (gvOtherDefine.Rows[0].Cells[0].Text.ToString() == "請添加數據") if (isEmpty == true) { gvOtherDefine.Columns[6].Visible = false; gvOtherDefine.Columns[7].Visible = false; gvOtherDefine.Columns[8].Visible = true; } else { gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; } } else if (gvOtherDefine.Rows.Count >1) { gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; } } protected void btnCancel_Click(object sender, EventArgs e) { stata = "Cancel"; txtItemCode.Enabled = false; txtItemCName.Enabled = false; txtItemEName.Enabled = false; TreeView.Enabled = true; gvOtherDefine.Enabled = true; if (id == "") { Load(); } else { Load(id); } } protected void btnSave_Click(object sender, EventArgs e) { btnNew.Enabled = NewPermissions; btnEdit.Enabled = EditPermissions; btnDelete.Enabled = DeletePermissions; btnSave.Enabled = false; btnCancel.Enabled = false; TreeView.Enabled = true; txtItemCode.Enabled = false; txtItemCName.Enabled = false; txtItemEName.Enabled = false; if (stata == "new") { int isSave= DAL.OtherDefineDAL.InsertOtherDefineA(txtItemCode.Text.Trim(), txtItemCName.Text.Trim(), txtItemEName.Text.Trim()); if (isSave == 1) { Lbmessage.Text = "新增項目已成功保存,請繼續新增項目明細!"; BindTreeView(); DataTable dt = DAL.OtherDefineDAL.GetMaxID(); string strid = dt.Rows[0][0].ToString(); id = strid; gvOtherDefine.Enabled = true; gvOtherDefine.Columns[8].Visible = false; } else { Load(id); Lbmessage.Text = "新增失敗!"; } } else if (stata == "edit") { int id1 =Int32.Parse(id); string ItemCode=txtItemCode.Text.ToString().Trim(); string ItemCName=txtItemCName.Text.ToString().Trim(); string ItemEName=txtItemEName.Text.ToString().Trim(); int isSave = DAL.OtherDefineDAL.UpdateOtherDefineA(id1, ItemCode, ItemCName, ItemCName); if (isSave == 1) { Load(id); } else { Lbmessage.Text = "修改失敗!"; } } } protected void btnDelete_Click(object sender, EventArgs e) { stata = "delete"; int id1 = Int32.Parse(id); int i=DAL.OtherDefineDAL.DeleteOtherDefineA(id1); int m = DAL.OtherDefineDAL.DeleteAllOtherDefineB(id1); if (i == 1) { Lbmessage.Text = "刪除成功!"; Load(); } else { Lbmessage.Text = "刪除失敗!"; Load(id); } } protected void btnPrint_Click(object sender, EventArgs e) { } protected void gvOtherDefine_PageIndexChanging(object sender, GridViewPageEventArgs e) { gvOtherDefine.PageIndex = e.NewPageIndex; BindGridView(Int32.Parse(TreeView.SelectedNode.Value.ToString())); } protected void gvOtherDefine_RowDeleting(object sender, GridViewDeleteEventArgs e) { int ItemNo = Int32.Parse(id); //string ListCode = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb1"))).Text.ToString().Trim(); string ListCode = ((Label)(gvOtherDefine.Rows[e.RowIndex].FindControl("lb1"))).Text.ToString(); int i = DAL.OtherDefineDAL.DeleteOtherDefineB(ItemNo, ListCode); if (i == 1) { Lbmessage.Text = "刪除成功!"; } else { Lbmessage.Text = "刪除失敗!"; } Load(id); } protected void gvOtherDefine_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { ((LinkButton)e.Row.Cells[7].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除此項數據吗?')"); } } } protected void gvOtherDefine_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { gvOtherDefine.EditIndex = -1; if (gvOtherDefine.Rows.Count == 1) { if (isEmpty == true) { Load(id); gvOtherDefine.Columns[6].Visible = false; gvOtherDefine.Columns[7].Visible = false; gvOtherDefine.Columns[8].Visible = true; } else { Load(id); gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; } } else { BindGridView(int.Parse(id)); gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; } } protected void gvOtherDefine_RowCommand(object sender, GridViewCommandEventArgs e) { //TextBox3.Text = e.CommandName.ToString()+Int32.Parse(e.CommandArgument.ToString()); if (e.CommandName == "New") { //GridViewRow dvr = new GridViewRow(1, -1, DataControlRowType.DataRow, DataControlRowState.Edit); //TableCell tc = new TableCell(); //tc.Text = "請輸入"; //dvr.Cells.Add(tc); //GridView1.Controls[0].Controls.Add(dvr); isNew = true; if (gvOtherDefine.Rows.Count > 1) { BindGridView(Int32.Parse(id)); DataRow dr = dtGridView.NewRow(); dtGridView.Rows.Add(dr); gvOtherDefine.EditIndex = dtGridView.Rows.Count - 1; gvOtherDefine.DataSource = dtGridView; gvOtherDefine.DataBind(); gvOtherDefine.Columns[6].Visible = true; // TreeView.Enabled = false; } else if (gvOtherDefine.Rows.Count ==1) { if (isEmpty==true) { gvOtherDefine.EditIndex = 0; BindGridView(0); gvOtherDefine.Columns[6].Visible = true; ((TextBox)(gvOtherDefine.Rows[0].FindControl("tb1"))).Text = ""; ((TextBox)(gvOtherDefine.Rows[0].FindControl("tb2"))).Text = ""; ((TextBox)(gvOtherDefine.Rows[0].FindControl("tb3"))).Text = ""; ((TextBox)(gvOtherDefine.Rows[0].FindControl("tb4"))).Text = ""; ((TextBox)(gvOtherDefine.Rows[0].FindControl("tb5"))).Text = ""; ((TextBox)(gvOtherDefine.Rows[0].FindControl("tb6"))).Text = ""; } else { BindGridView(Int32.Parse(id)); DataRow dr = dtGridView.NewRow(); dtGridView.Rows.Add(dr); gvOtherDefine.EditIndex = dtGridView.Rows.Count - 1; gvOtherDefine.DataSource = dtGridView; gvOtherDefine.DataBind(); gvOtherDefine.Columns[6].Visible = true; } } } } protected void gvOtherDefine_RowEditing1(object sender, GridViewEditEventArgs e) { if (gvOtherDefine.Rows.Count == 1) { if (isEmpty==true) { gvOtherDefine.EditIndex = e.NewEditIndex; // BindGridView(0); Load(id); gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; isEdit = true; } else { gvOtherDefine.EditIndex = e.NewEditIndex; //BindGridView(Int32.Parse(id)); Load(id); gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; isEdit = true; ((TextBox)(gvOtherDefine.Rows[0].FindControl("tb1"))).Enabled = false; } } else { gvOtherDefine.EditIndex = e.NewEditIndex; BindGridView(Int32.Parse(id)); gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; isEdit = true; ((TextBox)(gvOtherDefine.Rows[e.NewEditIndex].FindControl("tb1"))).Enabled = false; } } protected void gvOtherDefine_RowUpdating1(object sender, GridViewUpdateEventArgs e) { if (isNew == true) { gvOtherDefine.EditIndex = -1; //int ItemNo, string ListCode, string ListA, string ListB, string ListC, string ListD, string ListE) //((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() string ListCode = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb1"))).Text.ToString().Trim(); string ListA = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb2"))).Text.ToString().Trim(); string ListB = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb3"))).Text.ToString().Trim(); string ListC = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb4"))).Text.ToString().Trim(); string ListD = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb5"))).Text.ToString().Trim(); string ListE = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb6"))).Text.ToString().Trim(); int ItemNo = Int32.Parse(id); if (ListCode != "") { DataTable dt = DAL.OtherDefineDAL.GetListCode(ItemNo, ListCode); if (dt.Rows.Count == 0) { int i = DAL.OtherDefineDAL.InsertOtherDefineB(ItemNo, ListCode, ListA, ListB, ListC, ListD, ListE); if (i == 1) { Lbmessage.Text = "更新成功!"; } else { Lbmessage.Text = "更新失敗!"; } Load(id); gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; isNew = false; } else { gvOtherDefine.EditIndex = -1; Load(id); gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; Lbmessage.Text = "你輸入的項目編號已經存在,請重新輸入!"; } } else { gvOtherDefine.EditIndex = -1; Load(id); gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; Lbmessage.Text = "請輸入項目編號,項目編號不能為空!"; } } else if (isEdit == true) { gvOtherDefine.EditIndex = -1; //int ItemNo, string ListCode, string ListA, string ListB, string ListC, string ListD, string ListE) //((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() string ListCode = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb1"))).Text.ToString().Trim(); string ListA = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb2"))).Text.ToString().Trim(); string ListB = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb3"))).Text.ToString().Trim(); string ListC = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb4"))).Text.ToString().Trim(); string ListD = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb5"))).Text.ToString().Trim(); string ListE = ((TextBox)(gvOtherDefine.Rows[e.RowIndex].FindControl("tb6"))).Text.ToString().Trim(); int ItemNo = Int32.Parse(id); int i = DAL.OtherDefineDAL.UpdateOtherDefineB(ItemNo, ListCode, ListA, ListB, ListC, ListD, ListE); if (i == 1) { Lbmessage.Text = "更新成功!"; } else { Lbmessage.Text = "更新失敗!"; } Load(id); gvOtherDefine.Columns[6].Visible = true; gvOtherDefine.Columns[7].Visible = true; gvOtherDefine.Columns[8].Visible = true; isEdit = false; } } }