//fungsi: Handle Ketika data pada database telah ditambahkan
        protected void dsChangeShiftEdit_Inserted(object sender, System.Web.UI.WebControls.SqlDataSourceStatusEventArgs e)
        {
            //Seleksi apakah terjadi error atau tidak
            //jika tidak ada record yang ter insert maka terjadi error
            if (e.AffectedRows == 0)
            {
                ExceptionDetails.Text = lblCannotUpdate.Text;     //& " (" & e.Exception.Message & ")"
                e.ExceptionHandled    = true;
                if (!isEntrySambung())
                {
                    setInitialComponent();
                }
            }
            else
            {
                //Catat ke Log
                rtwin.azlib.AddUserAct(Session["UserID"].ToString(), "2431", e.Command.Parameters["@NIP"].Value.ToString() + "," + e.Command.Parameters["@TGL_AWAL"].Value.ToString(), Application["strCn"].ToString());
                ExceptionDetails.Text = "Data telah di simpan";

                GvChangeShift.DataBind();
                setInitialComponent();
            }

            if (!isEntrySambung())
            {
                showGridView(true);
            }
        }
 //fungsi: Refresh GridView
 protected void btnRefresh_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         //update ke grid
         GvChangeShift.DataBind();
     }
 }
 //fungsi: Handle Ketika data pada database telah didelete
 protected void dsChangeShift_Deleted(object sender, System.Web.UI.WebControls.SqlDataSourceStatusEventArgs e)
 {
     //Seleksi apakah terjadi error atau tidak
     //jika tidak ada record yang ter delete maka terjadi error
     if (e.AffectedRows == 0)
     {
         ExceptionDetails.Text = lblCannotUpdate.Text;
         e.ExceptionHandled    = true;
     }
     else
     {
         //Catat ke Log
         rtwin.azlib.AddUserAct(Session["UserID"].ToString(), "2433", e.Command.Parameters["@NIP"].Value.ToString() + "," + e.Command.Parameters["@TGL_AWAL"].Value.ToString(), Application["strCn"].ToString());
     }
     GvChangeShift.DataBind();
 }
        protected void txtHalaman_TextChanged(object sender, EventArgs e)
        {
            GridViewRow rowPager   = GvChangeShift.BottomPagerRow;
            TextBox     txtHalaman = (TextBox)(rowPager.Cells[0].FindControl("txtHalaman"));

            try
            {
                if (int.Parse(txtHalaman.Text) <= GvChangeShift.PageCount + 1 && int.Parse(txtHalaman.Text) > 0)
                {
                    GvChangeShift.PageIndex = (int.Parse(txtHalaman.Text)) - 1;
                    GvChangeShift.DataBind();
                }
            }
            catch (Exception)
            {
                txtHalaman.Text = (GvChangeShift.PageIndex + 1).ToString();
            }
        }