/// <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() { base.CreateChildControls(); if (this.Required) { this.RequiredFieldValidator = new RequiredFieldValidator(); this.RequiredFieldValidator.ID = this.ID + "_rfv"; this.RequiredFieldValidator.Display = ValidatorDisplay.Dynamic; this.RequiredFieldValidator.CssClass = "validation-error help-inline"; this.RequiredFieldValidator.Enabled = true; this.RequiredFieldValidator.ValidationGroup = this.ValidationGroup; Controls.Add(this.RequiredFieldValidator); } if (EnhanceForLongLists) { _lboxDefinedValues = new RockListBox(); _lboxDefinedValues.ID = this.ID + "_lboxDefinedValues"; _lboxDefinedValues.Style.Add("width", "85%"); _lboxDefinedValues.AutoPostBack = true; _lboxDefinedValues.SelectedIndexChanged += lboxDefinedValues_SelectedIndexChanged; Controls.Add(_lboxDefinedValues); if (this.Required) { this.RequiredFieldValidator.ControlToValidate = _lboxDefinedValues.ID; } } else { _cblDefinedValues = new RockCheckBoxList(); _cblDefinedValues.ID = this.ID + "_cblDefinedValues"; _cblDefinedValues.Style.Add("width", "85%"); _cblDefinedValues.RepeatColumns = this.RepeatColumns; _cblDefinedValues.RepeatDirection = this.RepeatDirection; _cblDefinedValues.AutoPostBack = true; _cblDefinedValues.SelectedIndexChanged += cblDefinedValues_SelectedIndexChanged; Controls.Add(_cblDefinedValues); if (this.Required) { this.RequiredFieldValidator.ControlToValidate = _cblDefinedValues.ID; } } LinkButtonAddDefinedValue = new LinkButton(); LinkButtonAddDefinedValue.ID = this.ID + "_lbAddDefinedValue"; LinkButtonAddDefinedValue.Text = "Add Item"; LinkButtonAddDefinedValue.CssClass = "btn btn-default btn-link js-button-add-defined-value"; LinkButtonAddDefinedValue.OnClientClick = $"javascript:$('.{this.ClientID}-js-defined-value-selector').fadeToggle(400, 'swing', function() {{ $('#{DefinedValueEditorControl.ClientID}').fadeToggle(); }}); return false;"; Controls.Add(LinkButtonAddDefinedValue); DefinedValueEditorControl.IsMultiSelection = true; LoadDefinedValues(); }
/// <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() { base.CreateChildControls(); if (EnhanceForLongLists) { _lboxDefinedValues = new RockListBox(); _lboxDefinedValues.ID = this.ID + "_lboxDefinedValues"; _lboxDefinedValues.Style.Add("width", "85%"); _lboxDefinedValues.AutoPostBack = true; _lboxDefinedValues.SelectedIndexChanged += lboxDefinedValues_SelectedIndexChanged; Controls.Add(_lboxDefinedValues); } else { _cblDefinedValues = new RockCheckBoxList(); _cblDefinedValues.ID = this.ID + "_cblDefinedValues"; _cblDefinedValues.Style.Add("width", "85%"); _cblDefinedValues.RepeatColumns = this.RepeatColumns; _cblDefinedValues.RepeatDirection = this.RepeatDirection; _cblDefinedValues.AutoPostBack = true; _cblDefinedValues.SelectedIndexChanged += cblDefinedValues_SelectedIndexChanged; Controls.Add(_cblDefinedValues); } LinkButtonAddDefinedValue = new LinkButton(); LinkButtonAddDefinedValue.ID = this.ID + "_lbAddDefinedValue"; LinkButtonAddDefinedValue.Text = "Add Item"; LinkButtonAddDefinedValue.CssClass = "btn btn-default btn-link js-button-add-defined-value"; LinkButtonAddDefinedValue.OnClientClick = $"javascript:$('.{this.ClientID}-js-defined-value-selector').fadeToggle(400, 'swing', function() {{ $('#{DefinedValueEditorControl.ClientID}').fadeToggle(); }}); return false;"; Controls.Add(LinkButtonAddDefinedValue); DefinedValueEditorControl.IsMultiSelection = true; LoadDefinedValues(); }