// //////////////////////////////////////////////////////////////////////// // METHODS // public MaterialsNavigatorTDS.MaterialNavigatorDataTable GetNavigator() { materialsNavigator = (MaterialsNavigatorTDS.MaterialNavigatorDataTable)Session["materialsNavigatorNewDummy"]; if (materialsNavigator == null) { materialsNavigator = ((MaterialsNavigatorTDS.MaterialNavigatorDataTable)Session["materialsNavigator"]); } return materialsNavigator; }
protected void AddNewEmptyFix(GridView grdNavigator) { if (grdNavigator.Rows.Count == 0) { MaterialsNavigatorTDS.MaterialNavigatorDataTable dt = new MaterialsNavigatorTDS.MaterialNavigatorDataTable(); dt.AddMaterialNavigatorRow(-1,"", "", "", "", "", "", false, -1, false, 0,0); Session["materialsNavigatorNewDummy"] = dt; grdNavigator.DataBind(); } // normally executes at all postbacks if (grdNavigator.Rows.Count == 1) { MaterialsNavigatorTDS.MaterialNavigatorDataTable dt = (MaterialsNavigatorTDS.MaterialNavigatorDataTable)Session["materialsNavigatorNewDummy"]; if (dt != null) { grdNavigator.Rows[0].Visible = false; grdNavigator.Rows[0].Controls.Clear(); } } }
// //////////////////////////////////////////////////////////////////////// // EVENTS // protected void Page_Load(object sender, EventArgs e) { // Register client scripts this.RegisterClientScripts(); if (!IsPostBack) { // Security check if (!(Convert.ToBoolean(Session["sgLFS_RESOURCES_MATERIALS_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 materials_navigator2.aspx"); } // Tag Page hdfCompanyId.Value = Session["companyID"].ToString(); hdfResourceType.Value = "Materials"; Session.Remove("materialsNavigatorNewDummy"); // Prepare initial data // ... For odsViewForDisplayList.DataBind(); ddlCondition1.DataSourceID = "odsViewForDisplayList"; ddlCondition1.DataValueField = "ConditionID"; ddlCondition1.DataTextField = "Name"; ddlCondition1.DataBind(); // If coming from // ... materials_navigator.aspx or materials_navigator2.aspx if ((Request.QueryString["source_page"] == "materials_navigator.aspx") || (Request.QueryString["source_page"] == "materials_navigator2.aspx")) { RestoreNavigatorState(); materialsNavigatorTDS = (MaterialsNavigatorTDS)Session["materialsNavigatorTDS"]; } // ... materials_edit.aspx, materials_summary.aspx or materials_delete.aspx if ((Request.QueryString["source_page"] == "materials_edit.aspx") || (Request.QueryString["source_page"] == "materials_summary.aspx") || (Request.QueryString["source_page"] == "materials_delete.aspx")) { RestoreNavigatorState(); if (Request.QueryString["update"] == "no") { materialsNavigatorTDS = (MaterialsNavigatorTDS)Session["materialsNavigatorTDS"]; } else { // ... Delete store data Session.Contents.Remove("materialsNavigatorTDS"); // ... Search data with updates materialsNavigatorTDS = SubmitSearch(); // ... store datasets Session["materialsNavigatorTDS"] = materialsNavigatorTDS; } } // ... materials_delete.aspx, materials_summary.aspx or materials_edit.aspx if ((Request.QueryString["source_page"] == "materials_delete.aspx") || (Request.QueryString["source_page"] == "materials_summary.aspx") || (Request.QueryString["source_page"] == "materials_edit.aspx")) { if (materialsNavigatorTDS.MaterialNavigator.Rows.Count == 0) { string url = "./materials_navigator.aspx?source_page=materials_navigator2.aspx&re_type=" + hdfResourceType.Value + GetNavigatorState() + "&no_results=yes"; Response.Redirect(url); } } Session["materialsNavigatorTDS"] = materialsNavigatorTDS; Session["materialsNavigator"] = materialsNavigatorTDS.MaterialNavigator; // ... for the total rows if (materialsNavigatorTDS.MaterialNavigator.Rows.Count > 0) { lblTotalRows.Text = "Total Rows: " + materialsNavigatorTDS.MaterialNavigator.Rows.Count; lblTotalRows.Visible = true; } else { lblTotalRows.Visible = false; } } else { // Restore searched data (if any) materialsNavigatorTDS = (MaterialsNavigatorTDS)Session["materialsNavigatorTDS"]; materialsNavigator = materialsNavigatorTDS.MaterialNavigator; // ... for the total rows if (materialsNavigatorTDS.MaterialNavigator.Rows.Count > 0) { lblTotalRows.Text = "Total Rows: " + materialsNavigatorTDS.MaterialNavigator.Rows.Count; lblTotalRows.Visible = true; } else { lblTotalRows.Visible = false; } } }