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;
}
}
}