Example #1
0
    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(); }
    }