protected void grdLink_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        try
        {
            ICustomList CustomManager;
            DataTable   theDT = (DataTable)ViewState["GrdData"];
            Bind_Grid(theDT);
            ViewState["GrdData"] = theDT;
            int r  = Convert.ToInt32(e.RowIndex.ToString());
            int Id = -1;


            if (theDT.Rows.Count > 0)
            {
                if (theDT.Rows[r].HasErrors == false)
                {
                    if ((theDT.Rows[r][2] != null) && (theDT.Rows[r][2] != DBNull.Value))
                    {
                        if (theDT.Rows[r][2].ToString() != "")
                        {
                            Id            = Convert.ToInt32(theDT.Rows[r][2]);
                            CustomManager = (ICustomList)ObjectFactory.CreateInstance("BusinessProcess.Administration.BCustomList, BusinessProcess.Administration");
                            CustomManager.DeleteCustomMasterLinkRecordParticular(ViewState["TableName"].ToString(), Convert.ToInt32(Id));
                        }
                    }
                }


                theDT.Rows[r].Delete();
                theDT.AcceptChanges();
                ViewState["GrdData"] = theDT;
                grdLink.Columns.Clear();
                grdLink.DataSource = ViewState["GrdData"];
                Bind_Grid(theDT);
                IQCareMsgBox.Show("DeleteSuccess", this);

                if (((DataTable)ViewState["GrdData"]).Rows.Count == 0)
                {
                    btnSave.Enabled = false;
                }
                else
                {
                    btnSave.Enabled = true;
                }
            }
            else
            {
                grdLink.Visible = false;
                IQCareMsgBox.Show("DeleteSuccess", this);
            }
        }
        catch (Exception ex)
        {
            string str = ex.Message;
        }
    }