Пример #1
0
        /// <summary>
        /// Creates child controls for this control
        /// </summary>
        protected override void CreateChildControls()
        {
            base.CreateChildControls();

            // Get configuration
            this.newPreValue = new PreValueRow();
            this.preValues = new List<PreValueRow>();

            // Add blank PreValue row in the beginning
            this.newPreValue = new PreValueRow() { Id = this.prevalueEditorSettingsHandler.GetAvailableId(this.DataType.DataTypeDefinitionId) };

            // Add the stored values
            foreach (var s in this.prevalueEditorSettingsHandler.GetColumnConfigurations(this.DataType.DataTypeDefinitionId))
            {
                this.preValues.Add(s);
            }

            // Instantiate default controls
            this.accordionContainer = new Panel { ID = "dtg_accordion_" + this.DataType.DataTypeDefinitionId, CssClass = "dtg_accordion" };
            this.showLabel = new CheckBox() { ID = "showLabel", Checked = this.Settings.ShowLabel };
            this.showHeader = new CheckBox() { ID = "showHeader", Checked = this.Settings.ShowGridHeader };
            this.showFooter = new CheckBox() { ID = "showFooter", Checked = this.Settings.ShowGridFooter };
            this.readOnly = new CheckBox() { ID = "readOnly", Checked = this.Settings.ReadOnly };
            this.tableHeight = new TextBox() { ID = "TableHeight", Text = this.Settings.TableHeight.ToString() };
            this.tableHeightValidator = new RegularExpressionValidator()
            {
                ID = "NumberOfRowsValidator",
                CssClass = "validator",
                ValidationExpression = @"^[1-9]*[0-9]*$",
                ControlToValidate = this.tableHeight.ClientID,
                Display = ValidatorDisplay.Dynamic,
                ErrorMessage = Helper.Dictionary.GetDictionaryItem("MustBeANumber", "Must be a number")
            };

            // Write controls for adding new entry
            var addNewProperty = new Panel() { ID = "newProperty", CssClass = "addNewProperty" };

            var addNewPropertyHeader = new Panel() { CssClass = "propertyHeader" };

            var addNewPropertyTitle = new HtmlGenericControl("h3")
                                          {
                                              InnerText =
                                                  Helper.Dictionary.GetDictionaryItem(
                                                      "AddNewDataType", "Add new datatype")
                                          };
            addNewPropertyTitle.Attributes["class"] = "propertyTitle";

            var icnNewError = new HtmlGenericControl("span")
                                  {
                                      InnerText =
                                          Helper.Dictionary.GetDictionaryItem(
                                              "Error", "Error")
                                  };
            icnNewError.Attributes["class"] = "ErrorProperty";

            addNewPropertyHeader.Controls.Add(addNewPropertyTitle);
            addNewPropertyHeader.Controls.Add(icnNewError);

            var addNewPropertyControls = new Panel() { ID = "addNewPropertyControls", CssClass = "propertyControls" };
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "<ul>" });

            // NAME
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

            // Instantiate controls
            var txtNewName = new TextBox() { ID = "newName", CssClass = "newName" };
            var lblNewName = new Label()
                                 {
                                     AssociatedControlID = txtNewName.ClientID,
                                     Text =
                                         string.Format(
                                             "{0}<br/><small class='description'>{1}</small>",
                                             Helper.Dictionary.GetDictionaryItem("Name", "Name"),
                                             Helper.Dictionary.GetDictionaryItem("NameDescription", "The column display name")),
                                     CssClass = "label"
                                 };
            var valNewName = new RequiredFieldValidator()
                                 {
                                     ID = "newNameValidator",
                                     CssClass = "validator",
                                     Enabled = false,
                                     ControlToValidate = txtNewName.ClientID,
                                     Display = ValidatorDisplay.Dynamic,
                                     ErrorMessage =
                                         Helper.Dictionary.GetDictionaryItem(
                                             "YouMustSpecifyAName", "You must specify a name")
                                 };

            // Add controls to control
            addNewPropertyControls.Controls.Add(lblNewName);
            addNewPropertyControls.Controls.Add(txtNewName);
            addNewPropertyControls.Controls.Add(valNewName);
            ((PreValueRow)this.newPreValue).Controls.Add(txtNewName);
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

            // ALIAS
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

            // Instantiate controls
            var txtNewAlias = new TextBox() { ID = "newAlias", CssClass = "newAlias" };
            var lblNewAlias = new Label()
                                  {
                                      AssociatedControlID = txtNewAlias.ClientID,
                                      Text = string.Format(
                                             "{0}<br/><small class='description'>{1}</small>",
                                             Helper.Dictionary.GetDictionaryItem("Alias", "Alias"),
                                             Helper.Dictionary.GetDictionaryItem("AliasDescription", "The column alias")),
                                      CssClass = "label"
                                  };
            var valNewAlias = new RequiredFieldValidator()
                                  {
                                      ID = "newAliasValidator",
                                      CssClass = "validator",
                                      Enabled = false,
                                      ControlToValidate = txtNewAlias.ClientID,
                                      Display = ValidatorDisplay.Dynamic,
                                      ErrorMessage =
                                          Helper.Dictionary.GetDictionaryItem(
                                              "YouMustSpecifyAnAlias",
                                              "You must specify an alias")
                                  };

            var valNewAliasExists = new CustomValidator()
                                        {
                                            ID = "newAliasExistsValidator",
                                            CssClass = "validator exists",
                                            Enabled = false,
                                            ControlToValidate = txtNewAlias.ClientID,
                                            Display = ValidatorDisplay.Dynamic,
                                            ClientValidationFunction = "ValidateNewAliasExists",
                                            ErrorMessage =
                                                Helper.Dictionary.GetDictionaryItem(
                                                    "AliasAlreadyExists", "Alias already exists!")
                                        };
            valNewAliasExists.ServerValidate += this.OnNewAliasServerValidate;

            // Add controls to control
            addNewPropertyControls.Controls.Add(lblNewAlias);
            addNewPropertyControls.Controls.Add(txtNewAlias);
            addNewPropertyControls.Controls.Add(valNewAlias);
            addNewPropertyControls.Controls.Add(valNewAliasExists);
            ((PreValueRow)this.newPreValue).Controls.Add(txtNewAlias);
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

            // DATATYPE
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

            // Instantiate controls
            var ddlNewType = this.prevalueEditorControlFactory.BuildDataTypeDropDownList();
            ddlNewType.ID = "newType";
            var lblNewType = new Label()
                                 {
                                     AssociatedControlID = ddlNewType.ClientID,
                                     Text = string.Format(
                                             "{0}<br/><small class='description'>{1}</small>",
                                             Helper.Dictionary.GetDictionaryItem("Datatype", "Datatype"),
                                             Helper.Dictionary.GetDictionaryItem("DatatypeDescription", "The column data editor")),
                                     CssClass = "label"
                                 };

            // Add controls to control
            addNewPropertyControls.Controls.Add(lblNewType);
            addNewPropertyControls.Controls.Add(ddlNewType);
            ((PreValueRow)this.newPreValue).Controls.Add(ddlNewType);
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

            // MANDATORY
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

            // Instantiate controls
            var chkNewMandatory = new CheckBox() { ID = "newMandatory", CssClass = "newMandatory" };
            var lblNewMandatory = new Label()
                                      {
                                          AssociatedControlID = chkNewMandatory.ClientID,
                                          Text = string.Format(
                                             "{0}<br/><small class='description'>{1}</small>",
                                             Helper.Dictionary.GetDictionaryItem("Mandatory", "Mandatory"),
                                             Helper.Dictionary.GetDictionaryItem("MandatoryDescription", "Whether this column is mandatory")),
                                          CssClass = "label"
                                      };

            // Add controls to control
            addNewPropertyControls.Controls.Add(lblNewMandatory);
            addNewPropertyControls.Controls.Add(chkNewMandatory);
            ((PreValueRow)this.newPreValue).Controls.Add(chkNewMandatory);
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

            // VISIBLE
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

            // Instantiate controls
            var chkNewVisible = new CheckBox() { ID = "newVisible", CssClass = "newVisible", Checked = true };
            var lblNewVisible = new Label()
            {
                AssociatedControlID = chkNewVisible.ClientID,
                Text =
                    string.Format(
                        "{0}<br/><small class='description'>{1}</small>",
                        Helper.Dictionary.GetDictionaryItem("Visible", "Visible"),
                        Helper.Dictionary.GetDictionaryItem("VisibleDescription", "Whether this column is visible in the grid. <br/>(it can still be edited)")),
                CssClass = "label"
            };

            // Add controls to control
            addNewPropertyControls.Controls.Add(lblNewVisible);
            addNewPropertyControls.Controls.Add(chkNewVisible);
            ((PreValueRow)this.newPreValue).Controls.Add(chkNewVisible);
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

            // VALIDATION
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

            // Instantiate controls
            var txtNewValidation = new TextBox()
            {
                ID = "newValidation",
                TextMode = TextBoxMode.MultiLine,
                Rows = 2,
                Columns = 20,
                CssClass = "newValidation"
            };
            var lblNewValidation = new Label()
            {
                AssociatedControlID = txtNewValidation.ClientID,
                Text = string.Format(
                    "{0}<br/><small class='description'>{1}</small>",
                    Helper.Dictionary.GetDictionaryItem("Validation", "Validation"),
                    Helper.Dictionary.GetDictionaryItem("ValidationDescription", "The regular expression used for validation. Leave empty to disable")),
                CssClass = "label"
            };
            var lnkNewValidation = new HyperLink
            {
                ID = "newValidationLink",
                CssClass = "validationLink",
                NavigateUrl = "#",
                Text =
                    Helper.Dictionary.GetDictionaryItem(
                        "SearchForARegularExpression", "Search for a regular expression")
            };
            var valNewValidation = new CustomValidator()
            {
                ID = "newValidationValidator",
                CssClass = "validator",
                ControlToValidate = txtNewValidation.ClientID,
                Display = ValidatorDisplay.Dynamic,
                ClientValidationFunction = "ValidateRegex",
                ErrorMessage =
                    Helper.Dictionary.GetDictionaryItem(
                        "ValidationStringIsNotValid", "Validation string is not valid")
            };
            valNewValidation.ServerValidate += this.OnNewRegexServerValidate;

            // Add controls to control
            addNewPropertyControls.Controls.Add(lblNewValidation);
            addNewPropertyControls.Controls.Add(txtNewValidation);
            addNewPropertyControls.Controls.Add(valNewValidation);
            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "<br/>" });
            addNewPropertyControls.Controls.Add(lnkNewValidation);
            ((PreValueRow)this.newPreValue).Controls.Add(txtNewValidation);

            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

            // PREVALUE SORT ORDER

            // Instantiate controls
            var hdnNewSortOrder = new HiddenField() { Value = (this.preValues.Count + 1).ToString() };
            addNewPropertyControls.Controls.Add(hdnNewSortOrder);
            ((PreValueRow)this.newPreValue).Controls.Add(hdnNewSortOrder);

            addNewPropertyControls.Controls.Add(new LiteralControl() { Text = "</ul>" });

            addNewProperty.Controls.Add(addNewPropertyHeader);
            addNewProperty.Controls.Add(addNewPropertyControls);

            this.accordionContainer.Controls.Add(addNewProperty);

            // Write stored entries
            foreach (var s in this.preValues)
            {
                var editProperty = new Panel() { ID = "editProperty_" + s.Id.ToString(), CssClass = "editProperty" };

                var editDataType = ddlNewType.Items.FindByValue(s.DataTypeId.ToString());

                var editPropertyHeader = new Panel() { CssClass = "propertyHeader" };
                var editPropertyTitle = new HtmlGenericControl("h3")
                {
                    InnerText =
                        string.Format(
                            "{0} ({1}), {2}: {3}",
                            s.Name.StartsWith("#")
                                ? uQuery.GetDictionaryItem(
                                    s.Name.Substring(
                                        1, s.Name.Length - 1),
                                    s.Name.Substring(
                                        1, s.Name.Length - 1))
                                : s.Name,
                            s.Alias,
                            uQuery.GetDictionaryItem("Type", "Type"),
                            editDataType != null
                                ? editDataType.Text
                                : "ERROR: This datatype is not supported")
                };

                editPropertyTitle.Attributes["class"] = "propertyTitle";

                var lnkDelete = new LinkButton
                {
                    CssClass = "DeleteProperty ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only",
                    Text =
                        "<span class='ui-button-icon-primary ui-icon ui-icon-close'>&nbsp;</span><span class='ui-button-text'>Delete</span>",
                    OnClientClick =
                        "return confirm('"
                        +
                        uQuery.GetDictionaryItem(
                            "AreYouSureYouWantToDeleteThisColumn", "Are you sure you want to delete this column")
                        + "?');",
                    CommandArgument = s.Id.ToString(),
                    CommandName = "Delete"
                };
                lnkDelete.Command += this.OnDeleteCommand;

                var icnEditError = new HtmlGenericControl("span") { InnerText = Helper.Dictionary.GetDictionaryItem("Error", "Error") };
                icnEditError.Attributes["class"] = "ErrorProperty";

                editPropertyHeader.Controls.Add(editPropertyTitle);
                editPropertyHeader.Controls.Add(lnkDelete);
                editPropertyHeader.Controls.Add(icnEditError);

                var editPropertyControls = new Panel() { CssClass = "propertyControls" };

                editPropertyControls.Controls.Add(new LiteralControl() { Text = "<ul>" });

                // NAME
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

                // Instantiate controls
                var txtEditName = new TextBox() { ID = "editName_" + this.preValues.IndexOf(s), CssClass = "editName", Text = s.Name };
                var lblEditName = new Label()
                {
                    AssociatedControlID = txtEditName.ClientID,
                    Text = string.Format(
                        "{0}<br/><small class='description'>{1}</small>",
                        Helper.Dictionary.GetDictionaryItem("Name", "Name"),
                        Helper.Dictionary.GetDictionaryItem("NameDescription", "The column display name")),
                    CssClass = "label"
                };
                var valEditName = new RequiredFieldValidator()
                {
                    ID = "editNameValidator_" + this.preValues.IndexOf(s),
                    CssClass = "validator",
                    ControlToValidate = txtEditName.ClientID,
                    Display = ValidatorDisplay.Dynamic,
                    ErrorMessage = "You must specify a name"
                };

                // Add controls to control
                editPropertyControls.Controls.Add(lblEditName);
                editPropertyControls.Controls.Add(txtEditName);
                editPropertyControls.Controls.Add(valEditName);
                s.Controls.Add(txtEditName);
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

                // ALIAS
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

                // Instantiate controls
                var txtEditAlias = new TextBox() { ID = "editAlias_" + this.preValues.IndexOf(s), CssClass = "editAlias", Text = s.Alias };
                var lblEditAlias = new Label()
                {
                    AssociatedControlID = txtEditAlias.ClientID,
                    Text = string.Format(
                        "{0}<br/><small class='description'>{1}</small>",
                        Helper.Dictionary.GetDictionaryItem("Alias", "Alias"),
                        Helper.Dictionary.GetDictionaryItem("AliasDescription", "The column alias")),
                    CssClass = "label"
                };
                var valEditAlias = new RequiredFieldValidator()
                {
                    ID = "editAliasValidator_" + this.preValues.IndexOf(s),
                    CssClass = "validator",
                    ControlToValidate = txtEditAlias.ClientID,
                    Display = ValidatorDisplay.Dynamic,
                    ErrorMessage = "You must specify an alias"
                };
                var valEditAliasExists = new CustomValidator()
                {
                    ID = "editAliasExistsValidator_" + this.preValues.IndexOf(s),
                    CssClass = "validator exists",
                    ControlToValidate = txtEditAlias.ClientID,
                    Display = ValidatorDisplay.Dynamic,
                    ClientValidationFunction = "ValidateAliasExists",
                    ErrorMessage = "Alias already exists!"
                };
                valEditAliasExists.ServerValidate += this.OnEditAliasServerValidate;

                // Add controls to control
                editPropertyControls.Controls.Add(lblEditAlias);
                editPropertyControls.Controls.Add(txtEditAlias);
                editPropertyControls.Controls.Add(valEditAlias);
                editPropertyControls.Controls.Add(valEditAliasExists);
                s.Controls.Add(txtEditAlias);
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

                // DATATYPE
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

                // Instantiate controls
                var ddlEditType = this.prevalueEditorControlFactory.BuildDataTypeDropDownList();
                ddlEditType.ID = "editDataType_" + this.preValues.IndexOf(s);
                var lblEditType = new Label()
                {
                    AssociatedControlID = ddlEditType.ClientID,
                    Text = string.Format(
                        "{0}<br/><small class='description'>{1}</small>",
                        Helper.Dictionary.GetDictionaryItem("Datatype", "Datatype"),
                        Helper.Dictionary.GetDictionaryItem("DatatypeDescription", "The column data editor")),
                    CssClass = "label"
                };

                // Add controls to control
                editPropertyControls.Controls.Add(lblEditType);
                ddlEditType.SelectedValue = s.DataTypeId.ToString();
                editPropertyControls.Controls.Add(ddlEditType);
                s.Controls.Add(ddlEditType);
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

                // MANDATORY
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

                // Instantiate controls
                var chkEditMandatory = new CheckBox() { ID = "editMandatory_" + this.preValues.IndexOf(s), CssClass = "editMandatory", Checked = s.Mandatory };
                var lblEditMandatory = new Label()
                {
                    AssociatedControlID = chkEditMandatory.ClientID,
                    Text = string.Format(
                        "{0}<br/><small class='description'>{1}</small>",
                        Helper.Dictionary.GetDictionaryItem("Mandatory", "Mandatory"),
                        Helper.Dictionary.GetDictionaryItem("MandatoryDescription", "Whether this column is mandatory")),
                    CssClass = "label"
                };

                // Add controls to control
                editPropertyControls.Controls.Add(lblEditMandatory);
                editPropertyControls.Controls.Add(chkEditMandatory);
                s.Controls.Add(chkEditMandatory);
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

                // VISIBLE
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

                // Instantiate controls
                var chkEditVisible = new CheckBox() { ID = "editVisible_" + this.preValues.IndexOf(s), CssClass = "editVisible", Checked = s.Visible };
                var lblEditVisible = new Label()
                                         {
                                             AssociatedControlID = chkEditVisible.ClientID,
                                             Text =
                                                 string.Format(
                                                     "{0}<br/><small class='description'>{1}</small>",
                                                     Helper.Dictionary.GetDictionaryItem("Visible", "Visible"),
                                                     Helper.Dictionary.GetDictionaryItem("VisibleDescription", "Whether this column is visible in the grid. <br/>(it can still be edited)")),
                                             CssClass = "label"
                                         };

                // Add controls to control
                editPropertyControls.Controls.Add(lblEditVisible);
                editPropertyControls.Controls.Add(chkEditVisible);
                s.Controls.Add(chkEditVisible);
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

                // VALIDATION
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "<li>" });

                // Instantiate control
                var txtEditValidation = new TextBox()
                {
                    ID = "editValidation_" + this.preValues.IndexOf(s),
                    TextMode = TextBoxMode.MultiLine,
                    Rows = 2,
                    Columns = 20,
                    CssClass = "editValidation",
                    Text = s.ValidationExpression
                };
                var lblEditValidation = new Label()
                {
                    AssociatedControlID = txtEditValidation.ClientID,
                    Text = string.Format(
                        "{0}<br/><small class='description'>{1}</small>",
                        Helper.Dictionary.GetDictionaryItem("Validation", "Validation"),
                        Helper.Dictionary.GetDictionaryItem("ValidationDescription", "The regular expression used for validation. Leave empty to disable")),
                    CssClass = "label"
                };
                var lnkEditValidation = new HyperLink
                {
                    CssClass = "validationLink",
                    NavigateUrl = "#",
                    Text =
                        Helper.Dictionary.GetDictionaryItem(
                            "SearchForARegularExpression", "Search for a regular expression")
                };
                var valEditValidation = new CustomValidator()
                {
                    ID = "editValidationValidator_" + this.preValues.IndexOf(s),
                    CssClass = "validator",
                    ControlToValidate = txtEditValidation.ClientID,
                    Display = ValidatorDisplay.Dynamic,
                    ClientValidationFunction = "ValidateRegex",
                    ErrorMessage =
                        Helper.Dictionary.GetDictionaryItem(
                            "ValidationStringIsNotValid", "Validation string is not valid")
                };
                valEditValidation.ServerValidate += this.OnEditRegexServerValidate;

                // Add controls to control
                editPropertyControls.Controls.Add(lblEditValidation);
                editPropertyControls.Controls.Add(txtEditValidation);
                editPropertyControls.Controls.Add(valEditValidation);
                editPropertyControls.Controls.Add(new LiteralControl() { Text = "<br/>" });
                editPropertyControls.Controls.Add(lnkEditValidation);
                s.Controls.Add(txtEditValidation);

                editPropertyControls.Controls.Add(new LiteralControl() { Text = "</li>" });

                // SORT ORDER

                // Instantiate controls
                var hdnEditSortOrderWrapper = new Panel() { CssClass = "sortOrder" };
                var hdnEditSortOrder = new HiddenField() { Value = s.SortOrder.ToString() };
                hdnEditSortOrderWrapper.Controls.Add(hdnEditSortOrder);
                editPropertyControls.Controls.Add(hdnEditSortOrderWrapper);
                s.Controls.Add(hdnEditSortOrder);

                editPropertyControls.Controls.Add(new LiteralControl() { Text = "</ul>" });

                editProperty.Controls.Add(editPropertyHeader);
                editProperty.Controls.Add(editPropertyControls);

                this.accordionContainer.Controls.Add(editProperty);
            }

            this.Controls.Add(this.showLabel);
            this.Controls.Add(this.showHeader);
            this.Controls.Add(this.showFooter);
            this.Controls.Add(this.readOnly);
            this.Controls.Add(this.tableHeight);
            this.Controls.Add(this.tableHeightValidator);
            this.Controls.Add(this.accordionContainer);
        }
Пример #2
0
        /// <summary>
        /// Parses the prevalue.
        /// </summary>
        /// <param name="t">The config object.</param>
        /// <returns></returns>
        private BasePreValueRow ParsePrevalue(PreValueRow t)
        {
            if (t != null && t.Controls.Count == 7)
            {
                // Get values
                var name = t.Controls[0] != null ? ((TextBox)t.Controls[0]).Text : null;
                var alias = t.Controls[1] != null ? ((TextBox)t.Controls[1]).Text : null;
                var dataTypeId = t.Controls[2] != null ? int.Parse(((DropDownList)t.Controls[2]).SelectedValue) : 0;
                var mandatory = t.Controls[3] != null ? ((CheckBox)t.Controls[3]).Checked : false;
                var visible = t.Controls[4] != null ? ((CheckBox)t.Controls[4]).Checked : true;
                var validation = t.Controls[5] != null ? ((TextBox)t.Controls[5]).Text : null;
                var sortOrder = t.Controls[6] != null ? int.Parse(((HiddenField)t.Controls[6]).Value) : 0;

                if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(alias))
                {
                    // Set the options
                    var preValueRow = new BasePreValueRow()
                    {
                        Id = t.Id,
                        Name = name,
                        Alias = alias,
                        DataTypeId = dataTypeId,
                        Mandatory = mandatory,
                        Visible = visible,
                        ValidationExpression = validation,
                        SortOrder = sortOrder
                    };

                    // Add new value to database
                    return preValueRow;
                }
            }

            return null;
        }
Пример #3
0
        /// <summary>
        /// Gets the DTG config.
        /// </summary>
        public void GetConfig()
        {
            // Add blank PreValue row in the beginning
            this._newPreValue = new PreValueRow()
                { Id = DtgHelpers.GetAvailableId(this.m_DataType.DataTypeDefinitionId) };

            // Add the stored values
            foreach (var s in DtgHelpers.GetConfig(this.m_DataType.DataTypeDefinitionId))
            {
                this._preValues.Add(s);
            }
        }