Rock.Web.UI.Controls.RegistrationTemplateFormEditor.BindFieldsGrid C# (CSharp) Method

BindFieldsGrid() public method

Binds the fields grid.
public BindFieldsGrid ( List formFields ) : void
formFields List The fields.
return void
        public void BindFieldsGrid( List<RegistrationTemplateFormField> formFields )
        {
            _gFields.DataSource = formFields
                .OrderBy( a => a.Order )
                .Select( a => new
                {
                    a.Id,
                    a.Guid,
                    Name = a.FieldSource == RegistrationFieldSource.PersonField ?
                        a.PersonFieldType.ToString() :
                        a.Attribute.Name,
                    FieldSource = a.FieldSource.ConvertToString(),
                    FieldType = a.FieldSource == RegistrationFieldSource.PersonField ? 0 : a.Attribute.FieldTypeId,
                    a.IsInternal,
                    a.IsSharedValue,
                    a.ShowCurrentValue,
                    a.IsRequired,
                    a.IsGridField
                } )
                .ToList();
            _gFields.DataBind();
        }

Usage Example

        /// <summary>
        /// Builds the form control.
        /// </summary>
        /// <param name="parentControl">The parent control.</param>
        /// <param name="setValues">if set to <c>true</c> [set values].</param>
        /// <param name="form">The form.</param>
        /// <param name="activeFormGuid">The active form unique identifier.</param>
        /// <param name="showInvalid">if set to <c>true</c> [show invalid].</param>
        private void BuildFormControl( Control parentControl, bool setValues, RegistrationTemplateForm form,
            Guid? activeFormGuid = null, bool showInvalid = false )
        {
            var control = new RegistrationTemplateFormEditor();
            control.ID = form.Guid.ToString( "N" );
            parentControl.Controls.Add( control );
            control.ValidationGroup = btnSave.ValidationGroup;

            control.DeleteFieldClick += tfeForm_DeleteFieldClick;
            control.ReorderFieldClick += tfeForm_ReorderFieldClick;
            control.EditFieldClick += tfeForm_EditFieldClick;
            control.RebindFieldClick += tfeForm_RebindFieldClick;
            control.DeleteFormClick += tfeForm_DeleteFormClick;
            control.AddFieldClick += tfeForm_AddFieldClick;

            control.SetForm( form );
            control.BindFieldsGrid( FormFieldsState[form.Guid] );

            if ( setValues )
            {
                control.Expanded = ExpandedForms.Contains( form.Guid );
                if ( !control.Expanded && showInvalid && !form.IsValid)
                {
                    control.Expanded = true;
                }

                if ( !control.Expanded )
                {
                    control.Expanded = activeFormGuid.HasValue && activeFormGuid.Equals( form.Guid );
                }
            }
        }