protected void Btn_Insert_Click(object sender, EventArgs e) { try { int iPageIndex; if (this.gv_Detail.EditIndex != -1) { ShowErrorMessage("請將編輯的資料列做更新,再按[儲存]"); } else { DataTable Dt = (DataTable)Session["STM23_DTL_" + PageTimeStamp.Value]; int intDEL_CNT = 0; if (Dt == null || Dt.Rows.Count == 0) { STMModel.MaintainRouteLine bco = new STMModel.MaintainRouteLine(ConnectionDB); Dt = bco.QuerySchema(); } foreach (DataRow dr in Dt.Rows) { if (dr.RowState == DataRowState.Deleted) { intDEL_CNT++; } } DataRow dRow = Dt.NewRow(); dRow["CHAN_NO"] = System.DBNull.Value; dRow["STORE"] = System.DBNull.Value; ; dRow["ARRIVE_TIME"] = System.DBNull.Value; ; dRow["Route"] = this.Route.Text; dRow["EFF_START"] = this.EFF_START.Text; Dt.Rows.Add(dRow); Session["STM23_DTL_" + PageTimeStamp.Value] = Dt; if (Dt.Rows.Count > 0) { double dbTemp = Dt.Rows.Count / gv_Detail.PageSize; iPageIndex = Int32.Parse(Math.Truncate(dbTemp).ToString()); } else { iPageIndex = 0; } this.gv_Detail.PageIndex = iPageIndex; this.setGV((Dt.Rows.Count - intDEL_CNT > gv_Detail.PageSize ? (Dt.Rows.Count - intDEL_CNT - (gv_Detail.PageSize * gv_Detail.PageIndex) - 1) : Dt.Rows.Count - intDEL_CNT - 1), Dt, true); } } catch (Exception ex) { this.ErrorMsgLabel.Text = ex.ToString(); } finally { SetPageStatus(); } }