/// <summary>
 /// InitData
 /// </summary>
 protected override void InitData()
 {
     _data = new ChecklistRulesNavigatorTDS();
 }
        // ////////////////////////////////////////////////////////////////////////
        // EVENTS
        //
        protected void Page_Load(object sender, EventArgs e)
        {
            // Register client scripts
            this.RegisterClientScripts();

            if (!IsPostBack)
            {
                // Security check
                if (!(Convert.ToBoolean(Session["sgLFS_FLEETMANAGEMENT_CHECKLISTRULES_VIEW"])))
                {
                    Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator.");
                }

                // Validate query string
                if (((string)Request.QueryString["source_page"] == null))
                {
                    Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in checklist_rules_navigator.aspx");
                }

                // Tag Page
                hdfCompanyId.Value = Session["companyID"].ToString();

                // If coming from
                // ... Checklist_rules_edit.aspx, checklist_rules_summary.aspx or checkliste_rules_delete.aspx
                if ((Request.QueryString["source_page"] == "checklist_rules_edit.aspx") || (Request.QueryString["source_page"] == "checklist_rules_summary.aspx") || (Request.QueryString["source_page"] == "checkliste_rules_delete.aspx"))
                {
                    if (Request.QueryString["update"] == "no")
                    {
                        checklistRulesNavigatorTDS = (ChecklistRulesNavigatorTDS)Session["checklistRulesNavigatorTDS"];
                    }
                    else
                    {
                        // ... Delete store data
                        Session.Contents.Remove("checklistRulesNavigatorTDS");

                        // ... Search data with updates
                        checklistRulesNavigatorTDS = SubmitSearch();

                        // ... Store datasets
                        Session["checklistRulesNavigatorTDS"] = checklistRulesNavigatorTDS;
                    }
                }
                else
                {
                    // ... Delete store data
                    Session.Contents.Remove("checklistRulesNavigatorTDS");

                    // ... Search data
                    checklistRulesNavigatorTDS = SubmitSearch();

                    // ... Store datasets
                    Session["checklistRulesNavigatorTDS"] = checklistRulesNavigatorTDS;
                }

                // For the grid
                grdCRNavigator.DataSource = checklistRulesNavigatorTDS.ChecklistRulesNavigator;
                grdCRNavigator.DataBind();

                // ... For the total rows
                if (checklistRulesNavigatorTDS.ChecklistRulesNavigator.Rows.Count > 0)
                {
                    lblTotalRows.Text = "Total Rows: " + checklistRulesNavigatorTDS.ChecklistRulesNavigator.Rows.Count;
                    lblTotalRows.Visible = true;
                    lblResults.Visible = true;
                    btnOpen.Visible = true;
                    btnEdit.Visible = true;
                    btnDelete.Visible = true;
                }
                else
                {
                    lblTotalRows.Visible = false;
                    lblResults.Visible = false;
                    btnOpen.Visible = false;
                    btnEdit.Visible = false;
                    btnDelete.Visible = false;
                }

                Session.Remove("arrayCategoriesSelectedForEdit");
                Session.Remove("arrayCompanyLevelsSelectedForEdit");
                Session.Remove("categoriesTDS");
                Session.Remove("companyLevelsTDS");
            }
            else
            {
                // Restore TDS
                checklistRulesNavigatorTDS = (ChecklistRulesNavigatorTDS)Session["checklistRulesNavigatorTDS"];

                // ... For the total rows
                if (checklistRulesNavigatorTDS.ChecklistRulesNavigator.Rows.Count > 0)
                {
                    lblTotalRows.Text = "Total Rows: " + checklistRulesNavigatorTDS.ChecklistRulesNavigator.Rows.Count;
                    lblTotalRows.Visible = true;
                    lblResults.Visible = true;
                    btnOpen.Visible = true;
                    btnEdit.Visible = true;
                    btnDelete.Visible = true;
                }
                else
                {
                    lblTotalRows.Visible = false;
                    lblResults.Visible = false;
                    btnOpen.Visible = false;
                    btnEdit.Visible = false;
                    btnDelete.Visible = false;
                }
            }
        }