/// <summary> /// databind 繫結查詢資料到GridView1 /// </summary> private void databind() { //抓取本頁初次登記的時間 string SessionIDName = "CGD281_" + PageTimeStamp.Value; CGDModel.MaintainPickWorkstation BCO = new CGDModel.MaintainPickWorkstation(ConntionDB); DataTable Dt; if (Session[SessionIDName] != null) { Dt = (DataTable)Session[SessionIDName]; } else { ParameterList.Clear(); ParameterList.Add(this.ddlDPS_CODE.Text.Trim()); Dt = BCO.QuerySwitch(CGDModel.CGDCommon.QueryType.Custom, ParameterList); } if (Dt.Rows.Count == 0) { if (Mode != "ADD") ErrorMsgLabel.Text = "查無資料"; //ScriptManager.RegisterStartupScript(Page, this.GetType(), "CGD281.aspx", "alert(' 查無資料 ');", true); } Session[SessionIDName] = Dt; DataView DV1 = Dt.DefaultView; DV1.RowFilter = "rownum <= " + Convert.ToString(Convert.ToInt32(TextBoxRowCountLimit.Text.Trim()) - 1); GridView1.DataSource = DV1; GridView1.Visible = true; //設定分頁大小 GridView1.PageSize = (TextBoxPagesize.Text == "") ? 10 : (int.Parse(TextBoxPagesize.Text) < 0) ? 10 : int.Parse(TextBoxPagesize.Text); GridView1.PageIndex = 0; GridView1.DataBind(); }
/// <summary> /// 插入鈕 /// </summary> protected void btnInsert_Click(object sender, EventArgs e) { #region 檢查輸入值 if (txtSTATION_NO.Text.Trim() == "") { ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "A", "alert('[站別]不得為空白');", true); return; } if (txtUSE_LOCATE_CNT.Text.Trim() == "") { ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "A", "alert('[實體儲區數]不得為空白');", true); return; } if (txtLIMIT_LOCATE_CNT.Text.Trim() == "") { ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "A", "alert('[上限儲區數]不得為空白');", true); return; } #endregion string SessionIDName = "CGD281_" + PageTimeStamp.Value; DataTable Dt = null; try { if (Session[SessionIDName] != null) { Dt = (DataTable)Session[SessionIDName]; } else { CGDModel.MaintainPickWorkstation BCO = new CGDModel.MaintainPickWorkstation(ConntionDB); ParameterList.Clear(); Dt = BCO.QuerySwitch(CGDModel.MaintainPickWorkstation.QueryType.Empty, ParameterList); } if (Mode == "EDIT") { for (int i = 0; i <= Dt.Rows.Count - 1; i++) { if (Dt.Rows[i].RowState != DataRowState.Deleted) { if (Dt.Rows[i]["STATION_NO"].ToString() == txtSTATION_NO.Text) { Dt.Rows[i]["UPDATEDATE"] = DateTime.Now; Dt.Rows[i]["UPDATEUID"] = Session["UID"].ToString(); Dt.Rows[i]["DPS_CODE"] = hidlbl_DPS_CODE.Text; Dt.Rows[i]["STATION_NO"] = txtSTATION_NO.Text; Dt.Rows[i]["USE_LOCATE_CNT"] = txtUSE_LOCATE_CNT.Text; Dt.Rows[i]["LIMIT_LOCATE_CNT"] = txtLIMIT_LOCATE_CNT.Text; Dt.Rows[i]["INTERFLOW_LOCATE"] = (chkINTERFLOW_LOCATE.Checked) ? "Y" : "N"; Dt.Rows[i]["SHELF"] = (chkSHELF.Checked) ? "Y" : "N"; } } } } else if (Mode == "ADD") { //檢查是否有重複站所 string repeat = ""; for (int i = 0; i <= Dt.Rows.Count - 1; i++) { if (Dt.Rows[i].RowState != DataRowState.Deleted) { if (Dt.Rows[i]["STATION_NO"].ToString() == txtSTATION_NO.Text) { repeat = "Yes"; ErrorMsgLabel.Text = "新增之站所已重複"; //ScriptManager.RegisterStartupScript(Page, this.GetType(), "CGD281.aspx", "alert(' 新增之站所已重複 ');", true); return; } } } //開始插入 tempID = 0; tempRownum = 0; DataView tempDT = new DataView(); tempDT.Table = Dt.Copy(); tempDT.Sort = "ID ASC"; if (Dt.Rows.Count != 0) { tempID = Convert.ToInt32(tempDT[tempDT.Count - 1]["ID"].ToString()); } tempDT.Sort = "rownum ASC"; if (Dt.Rows.Count != 0) { tempRownum = Convert.ToInt32(tempDT[tempDT.Count - 1]["rownum"].ToString()); } DataRow dRow = Dt.NewRow(); //ID和PID暫自訂, 真正寫入CO時會重取 int v_ID = tempID + 1; int v_PID = tempID + 1; int v_ROWNUM = tempRownum + 1; dRow["ID"] = v_ID; dRow["CODE"] = v_PID; dRow["rownum"] = v_ROWNUM; dRow["CREATEDATE"] = DateTime.Now; dRow["UPDATEDATE"] = DateTime.Now; dRow["CREATEUID"] = Session["UID"].ToString(); dRow["UPDATEUID"] = Session["UID"].ToString(); dRow["STATUS"] = "1"; dRow["ENABLE"] = "1"; if (hidlbl_DPS_CODE.Text != "") { dRow["DPS_CODE"] = hidlbl_DPS_CODE.Text; } else { dRow["DPS_CODE"] = ddlDPS_CODE.SelectedItem.Text; } dRow["STATION_NO"] = txtSTATION_NO.Text; dRow["USE_LOCATE_CNT"] = txtUSE_LOCATE_CNT.Text; dRow["LIMIT_LOCATE_CNT"] = txtLIMIT_LOCATE_CNT.Text; dRow["INTERFLOW_LOCATE"] = (chkINTERFLOW_LOCATE.Checked) ? "Y" : "N"; dRow["SHELF"] = (chkSHELF.Checked) ? "Y" : "N"; Dt.Rows.Add(dRow); } txtSTATION_NO.Text = ""; txtUSE_LOCATE_CNT.Text = ""; txtLIMIT_LOCATE_CNT.Text = ""; chkINTERFLOW_LOCATE.Checked = false; chkSHELF.Checked = false; Panel1.Visible = false; Session[SessionIDName] = Dt; DataView DV1 = Dt.DefaultView; DV1.RowFilter = "rownum <= " + Convert.ToString(Convert.ToInt32(TextBoxRowCountLimit.Text.Trim()) - 1); GridView1.DataSource = DV1; GridView1.Visible = true; //設定分頁大小 GridView1.PageSize = (TextBoxPagesize.Text == "") ? 10 : (int.Parse(TextBoxPagesize.Text) < 0) ? 10 : int.Parse(TextBoxPagesize.Text); GridView1.DataBind(); } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } finally { } }