/// <summary> /// When implemented by a class, defines the <see cref="T:System.Web.UI.Control"/> /// object that child controls and templates belong to. These child controls are in /// turn defined within an inline template. /// </summary> /// <param name="container">The <see cref="T:System.Web.UI.Control"/> object to contain the instances of controls from the inline template.</param> public void InstantiateIn(Control container) { DataControlFieldCell cell = container as DataControlFieldCell; if (cell != null) { ToggleField toggleField = cell.ContainingField as ToggleField; ParentGrid = toggleField.ParentGrid; DataField = toggleField.DataField; bool isEnabled = false; bool.TryParse(toggleField.Enabled, out isEnabled); Enabled = isEnabled; Toggle toggle = new Toggle(); toggle.OnText = toggleField.OnText; toggle.OffText = toggleField.OffText; //toggle.EnableViewState = true; // TODO remove if unnecessary toggle.AddCssClass(toggleField.CssClass); toggle.CheckedChanged += toggle_CheckedChanged; toggle.DataBinding += toggle_DataBinding; toggle.PreRender += toggle_PreRender; cell.Controls.Add(toggle); } }
/// <summary> /// Handles the PreRender event of the toggle control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> void toggle_PreRender(object sender, EventArgs e) { Toggle toggle = sender as Toggle; if (toggle.Enabled && (!ParentGrid.Enabled || !this.Enabled)) { toggle.AddCssClass("disabled"); toggle.Enabled = false; //toggle.AutoPostBack = false; // TODO remove if unnecessary } }
/// <summary> /// Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering. /// </summary> protected override void CreateChildControls() { Controls.Clear(); toggleAllAny = new Toggle(); Controls.Add(toggleAllAny); toggleAllAny.ID = this.ID + "_toggleAllAny"; toggleAllAny.AddCssClass("switch-mini"); toggleAllAny.OnText = "All"; toggleAllAny.OffText = "Any"; btnAddGroup = new HtmlButton(); Controls.Add(btnAddGroup); btnAddGroup.ID = this.ID + "_btnAddGroup"; btnAddGroup.ServerClick += btnAddGroup_ServerClick; btnAddGroup.AddCssClass("btn btn-action"); btnAddGroup.CausesValidation = false; var iAddGroup = new HtmlGenericControl("i"); iAddGroup.AddCssClass("fa fa-list-alt"); btnAddGroup.Controls.Add(iAddGroup); btnAddGroup.Controls.Add(new LiteralControl(" Add Filter Group")); btnAddFilter = new HtmlButton(); Controls.Add(btnAddFilter); btnAddFilter.ID = this.ID + "_btnAddFilter"; btnAddFilter.ServerClick += btnAddFilter_ServerClick; btnAddFilter.AddCssClass("btn btn-action"); btnAddFilter.CausesValidation = false; var iAddFilter = new HtmlGenericControl("i"); iAddFilter.AddCssClass("fa fa-filter"); btnAddFilter.Controls.Add(iAddFilter); btnAddFilter.Controls.Add(new LiteralControl(" Add Filter")); lbDelete = new LinkButton(); Controls.Add(lbDelete); lbDelete.ID = this.ID + "_lbDelete"; lbDelete.Click += lbDelete_Click; lbDelete.AddCssClass("btn btn-xs btn-danger"); lbDelete.CausesValidation = false; var iDeleteGroup = new HtmlGenericControl("i"); iDeleteGroup.AddCssClass("fa fa-times"); lbDelete.Controls.Add(iDeleteGroup); }
/// <summary> /// Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering. /// </summary> protected override void CreateChildControls() { Controls.Clear(); toggleAllAny = new Toggle(); Controls.Add( toggleAllAny ); toggleAllAny.ID = this.ID + "_toggleAllAny"; toggleAllAny.AddCssClass( "switch-mini" ); toggleAllAny.OnText = "All"; toggleAllAny.OffText = "Any"; btnAddGroup = new HtmlButton(); Controls.Add( btnAddGroup ); btnAddGroup.ID = this.ID + "_btnAddGroup"; btnAddGroup.ServerClick += btnAddGroup_ServerClick; btnAddGroup.AddCssClass( "btn btn-action" ); btnAddGroup.CausesValidation = false; var iAddGroup = new HtmlGenericControl( "i" ); iAddGroup.AddCssClass( "fa fa-list-alt" ); btnAddGroup.Controls.Add( iAddGroup ); btnAddGroup.Controls.Add( new LiteralControl( " Add Filter Group" ) ); btnAddFilter = new HtmlButton(); Controls.Add( btnAddFilter ); btnAddFilter.ID = this.ID + "_btnAddFilter"; btnAddFilter.ServerClick += btnAddFilter_ServerClick; btnAddFilter.AddCssClass( "btn btn-action" ); btnAddFilter.CausesValidation = false; var iAddFilter = new HtmlGenericControl( "i" ); iAddFilter.AddCssClass( "fa fa-filter" ); btnAddFilter.Controls.Add( iAddFilter ); btnAddFilter.Controls.Add( new LiteralControl( " Add Filter" ) ); lbDelete = new LinkButton(); Controls.Add( lbDelete ); lbDelete.ID = this.ID + "_lbDelete"; lbDelete.Click += lbDelete_Click; lbDelete.AddCssClass( "btn btn-xs btn-danger" ); lbDelete.CausesValidation = false; var iDeleteGroup = new HtmlGenericControl( "i" ); iDeleteGroup.AddCssClass( "fa fa-times" ); lbDelete.Controls.Add( iDeleteGroup ); }
/// <summary> /// When implemented by a class, defines the <see cref="T:System.Web.UI.Control"/> /// object that child controls and templates belong to. These child controls are in /// turn defined within an inline template. /// </summary> /// <param name="container">The <see cref="T:System.Web.UI.Control"/> object to contain the instances of controls from the inline template.</param> public void InstantiateIn( Control container ) { DataControlFieldCell cell = container as DataControlFieldCell; if ( cell != null ) { ToggleField toggleField = cell.ContainingField as ToggleField; ParentGrid = toggleField.ParentGrid; DataField = toggleField.DataField; bool isEnabled = false; bool.TryParse(toggleField.Enabled, out isEnabled ); Enabled = isEnabled; Toggle toggle = new Toggle(); toggle.OnText = toggleField.OnText; toggle.OffText = toggleField.OffText; //toggle.EnableViewState = true; // TODO remove if unnecessary toggle.AddCssClass( toggleField.CssClass ); toggle.CheckedChanged += toggle_CheckedChanged; toggle.DataBinding += toggle_DataBinding; toggle.PreRender += toggle_PreRender; cell.Controls.Add( toggle ); } }