public override void DataBind()
        {
            if (null == this.Field)
            {
                return;
            }

            if (!this.IsNew)
            {
                MoveUpButton.Visible   = true;
                MoveDownButton.Visible = true;
                FormBuilderField_DeleteButton.Visible = true;
            }

            Options_td.Visible = FormBuilder_Field.IsOptionsFieldType((FormBuilder_Field.FieldType)Field.Type);

            FieldName.Text          = this.Field.Name;
            FieldTypesList.Text     = this.Field.Type.ToString();
            IsFieldRequired.Checked = this.Field.IsRequired;
            FieldWidth.Text         = this.Field.Width.ToString();
            FormBuilderFieldOption_edit1.FieldOptions = this.Field.GetFieldOptions();
            FormBuilderFieldOption_edit1.DataBind();

            base.DataBind();
        }
        protected void FormBuilderField_SaveButton_Click(object sender, EventArgs e)
        {
            int typeId = int.Parse(FieldTypesList.Text);

            FormBuilderDataContext dc    = new FormBuilderDataContext();
            FormBuilder_Field      field = (from f in dc.FormBuilder_Fields
                                            where f.Id == this.FieldId
                                            select f).FirstOrDefault();

            if (field == null)
            {
                field = new FormBuilder_Field();

                field.ModuleId = this.ModuleId;

                var maxSortOrder = (from f in dc.FormBuilder_Fields
                                    where f.ModuleId == field.ModuleId
                                    orderby f.SortOrder descending
                                    select f.SortOrder).FirstOrDefault();
                field.SortOrder = maxSortOrder + 1;

                dc.FormBuilder_Fields.InsertOnSubmit(field);
            }
            else
            {
                field = (from f in dc.FormBuilder_Fields
                         where f.Id == this.FieldId
                         select f).Single();
            }


            field.Name = FieldName.Text.Trim();
            field.Type = typeId;
            field.SetFieldOptions(FormBuilderFieldOption_edit1.FieldOptions);
            field.IsRequired = IsFieldRequired.Checked;
            field.Width      = string.IsNullOrEmpty(FieldWidth.Text) ? null : (int?)int.Parse(FieldWidth.Text);
            dc.SubmitChanges();

            if (this.IsNew)
            {
                Bss.Web.UI.UITool.Clear(this);
                FormBuilderFieldOption_edit1.FieldOptions.Clear();
                FormBuilderFieldOption_edit1.DataBind();
                Msg.ShowSuccess(string.Format("Added the '{0}' field to the form.", field.Name));
                SetReloadFlag(true);
            }
            else
            {
                if (field.SortOrder <= 1)
                {
                    FormBuilder_Field.MoveUp(field.Id);
                }
                Msg.ShowSuccess(string.Format("Saved the '{0}' field settings.", field.Name));
            }
        }
Пример #3
0
        private bool TryGetDictionaryValue(FormBuilder_Field formBuilderField, out WebControl ctl)
        {
            ctl = null;

            foreach (KeyValuePair <FormBuilder_Field, WebControl> keyValuePair in _fields_controls)
            {
                if (keyValuePair.Key.GetInputControlId().EndsWith(formBuilderField.Id.ToString()))
                {
                    ctl = keyValuePair.Value;
                    break;
                }
            }

            return(ctl != null);
        }
 public virtual void MoveDownButton_Click(object sender, ImageClickEventArgs e)
 {
     FormBuilder_Field.MoveDown(this.FieldId);
     SetReloadFlag(true);
 }
Пример #5
0
        public WebControl LoadField(FormBuilder_Field field)
        {
            this.FieldHasOptions = field.HasOptions();
            WebControl fieldCtl = field.GetInputControl();

            _clientId = fieldCtl.ClientID;
            if (field.Type == (int)FormBuilder_Field.FieldType.SectionHeader)
            {
                FieldLabel.Visible  = FieldInputPlaceHolder.Visible = false;
                litPlaceHolder.Text = String.Format("<h3 class=\"sectionHeader\">{0}</h3>", field.Name);
            }
            else
            {
                FieldInputPlaceHolder.Controls.Add(fieldCtl);
                FieldLabel.Visible = FieldInputPlaceHolder.Visible = true;

                litPlaceHolder.Visible = false;
                if (field.IsRequired)
                {
                    BaseValidator fieldCtlValidator = field.GetInputValidator();
                    fieldCtlValidator.SetFocusOnError = true;

                    if (field.Type == (int)FormBuilder_Field.FieldType.DropDownList)
                    {
                        RequiredFieldValidator requiredValidator = fieldCtlValidator as RequiredFieldValidator;
                        if (null != requiredValidator)
                        {
                            requiredValidator.InitialValue = "";
                        }
                    }

                    FieldInputPlaceHolder.Controls.Add(fieldCtlValidator);
                }

                FieldLabel.Text = field.Name;
                FieldLabel.AssociatedControlID = _clientId;
            }

            string strSafeFieldName = string.Empty;

            if (!string.IsNullOrEmpty(field.Name))
            {
                System.Text.StringBuilder sbFieldName = new System.Text.StringBuilder();
                char[] achFieldName = field.Name.ToLower().ToCharArray();
                foreach (char ch in achFieldName)
                {
                    if (ch >= 'a' && ch <= 'z')
                    {
                        sbFieldName.Append(ch);
                    }
                }
                if (sbFieldName.Length > 0)
                {
                    strSafeFieldName = string.Format("wm-field-name-{0}", sbFieldName.ToString());
                }
            }

            string strClassName = string.Format("wm-field wm-field-id-{0} {1}", field.Id, strSafeFieldName);

            fieldDiv.Attributes["class"] = strClassName;

            return(fieldCtl);
        }