/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.PreRender"></see> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs"></see> object that contains the event data.</param> protected override void OnPreRender(EventArgs e) { // Bubble effect if (Equals(m_EventRanpreRender, true)) { return; } if (Trace.IsTracing) { Trace.Trace("Start PreRender()"); } if (m_EventRanLoad == false) { if (Trace.IsTracing) { Trace.Trace("Running onLoad event from onPreRender event"); } OnLoad(new EventArgs()); } m_EventRanpreRender = true; if (MasterWebGrid != null && RequiredbyMasterWebGrid() == false) { return; } if (Trace.IsTracing) { Trace.Trace("base.OnPreRender({0})", ID); } if (m_IsRecordUpdateRows) { UpdateRowsClickEvent(); ReLoadData = true; } else if (m_UpdateRow != null && m_UpdateRow.Length > 0) { UpdateRowClickEvent(m_UpdateRow); if (m_ResetEditIndex) { InternalId = null; } ReLoadData = true; } base.OnPreRender(e); //BUG: Make SubmitGridOnEnter work without '???_wgupdaterecord' and '???_wgupdaterecords'. if (UseSubmitBehavior && !DesignMode) { switch (DisplayView) { case DisplayView.Detail: Attributes.Add("onkeydown", string.Format("return SubmitGridOnEnter(event,'{0}_wgupdaterecord');", ID)); break; default: Attributes.Add("onkeydown", string.Format("return SubmitGridOnEnter(event,'{0}_wgupdaterecords');", ID)); break; } } SetupGridRelations(); if (CacheGridStructure) { MasterTable.SaveDataStructure(); } if (ReLoadData) { //Clean-up if (InternalId != null && DisplayView == DisplayView.Grid) { InternalId = null; } if (Debug) { m_DebugString.AppendFormat("<b>ReloadingData ({0})</b> - DataSource: {1}<br/>", ID, DataSourceId); } MasterTable.GetData(true); if (SlaveGrid.Count > 0) { SlaveGrid.ForEach(delegate(Grid grid) { grid.ReLoadData = true; }); } } ViewState["LastGridMode"] = DisplayView; //Saving group state; GroupState = GroupState; if (Trace.IsTracing) { Trace.Trace("Start DisableShowRequiredIconIfThereIsNoRequiredFields({0});", ID); } // Disable DisplayRequiredColumn if there is no required fields in the table DisableShowRequiredIconIfThereIsNoRequiredFields(); if (Trace.IsTracing) { Trace.Trace("Finished DisableShowRequiredIconIfThereIsNoRequiredFields({0});", ID); } if (Trace.IsTracing) { Trace.Trace("Start errors.Render({0});", ID); } // SystemMessage.m_Panel = m_SystemMessagePanel; // If Data is not loaded yet.. do it before rendering errors.. if (m_MasterTable.m_GotData == false) { MasterTable.GetData(false); } if (IsDemo) { if (!Security.IsLocal && new Random().Next(1, 7) == 3) { SystemMessage.Add( "For full version register at <a href=\"http://www.webgrid.com\"><b>WebGrid Support Account</b></a>."); if (DisplayView == DisplayView.Detail && Page != null && Page.ClientScript != null) { const string alert = "alert('For full version register at www.webgrid.com');"; if (EnableCallBack && Anthem.Manager.IsCallBack) { Anthem.Manager.AddScriptForClientSideEval(alert); } else { Page.ClientScript.RegisterClientScriptBlock(GetType(), "AlertScript", alert, true); } } } } LoadLanguage(); SystemMessages.ForEach(delegate(SystemMessageItem key) { if (key is OverrideSystemMessage) { SetSystemMessage( ((OverrideSystemMessage)key).SystemMessageID.ToString(), key.DisplayText, key.CssClass); } }); // This should move in the future. //SetupGridFilterByColumns(); SetupGridMessages(); SetupGridScripts(); m_DesignRender.Render(); if (Trace.IsTracing) { Trace.Trace("Finished errors.Render({0});", ID); } UpdateDebug(); // bool AllRows = (System.Web.HttpContext.Current.RequestQueryString("AllRows"] != null && System.Web.HttpContext.Current.RequestQueryString("AllRows") == "1"); if (m_DoExcelExport) { Excel.StreamToBrowser(Page, MasterTable, ExportFileName, Excel.ExcelFile(MasterTable, true)); } BindDataSourceSession(); if (Trace.IsTracing) { Trace.Trace("Finish PreRender. Rows Rendered: {0}", MasterTable.Rows.Count); } }