Example #1
0
        private void FormGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            switch (e.Row.RowType)
            {
            case DataControlRowType.DataRow:
                using (var radio = new HtmlInputRadioButton())
                {
                    radio.ClientIDMode = ClientIDMode.Static;
                    radio.Name         = "SelectRadio";
                    radio.ID           = "SelectRadio";
                    radio.ClientIDMode = ClientIDMode.Predictable;
                    radio.Value        = e.Row.Cells[1].Text;
                    //radio.Attributes.Add("onclick", "scrudSelectRadioById(this.id);");
                    e.Row.Cells[0].Controls.Add(radio);
                }
                break;

            case DataControlRowType.Header:
                for (var i = 1; i < e.Row.Cells.Count; i++)
                {
                    var cellText = e.Row.Cells[i].Text;

                    cellText = ScrudLocalizationHelper.GetResourceString(this.GetResourceClassName(), cellText);

                    e.Row.Cells[i].Text = cellText;
                }
                break;
            }
        }
Example #2
0
        public override string Get()
        {
            StringBuilder header = new StringBuilder();

            TagBuilder.Begin(header, "thead", true);
            TagBuilder.Begin(header, "tr", true);
            TagBuilder.Begin(header, "th", true);
            TagBuilder.EndTag(header, "th");

            foreach (Column column in this.Columns)
            {
                string cssClass = string.Empty;

                if ((new[] { "System.Single", "System.Double", "System.Decimal" }).Contains(column.Type.FullName))
                {
                    cssClass = " class='text right'";
                }

                TagBuilder.Begin(header, "th");
                header.Append(cssClass);
                TagBuilder.Close(header);


                header.Append(ScrudLocalizationHelper.GetResourceString(this.Config.ResourceAssembly,
                                                                        ConfigBuilder.GetResourceClassName(this.Config), column.ColumnName));
                TagBuilder.EndTag(header, "th");
            }


            TagBuilder.EndTag(header, "tr");
            TagBuilder.EndTag(header, "thead");

            return(header.ToString());
        }
Example #3
0
        public static void AddDropDownList(HtmlTable htmlTable, string resourceClassName, string itemSelectorPath,
                                           string columnName, bool isNullable, string tableSchema, string tableName, string tableColumn,
                                           string defaultValue, string displayFields, string displayViews, bool useDisplayViewsAsParent,
                                           string selectedValues, string errorCssClass, Assembly assembly)
        {
            var label = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);

            var dropDownList = GetDropDownList(columnName + "_dropdownlist");

            HtmlAnchor itemSelectorAnchor;

            using (var table = GetTable(tableSchema, tableName, tableColumn, displayViews, useDisplayViewsAsParent))
            {
                SetDisplayFields(dropDownList, table, tableSchema, tableName, tableColumn, displayFields);
                itemSelectorAnchor = GetItemSelector(dropDownList.ClientID, table, itemSelectorPath, tableSchema,
                                                     tableName, tableColumn, displayViews, assembly, resourceClassName);
            }

            SetSelectedValue(dropDownList, tableSchema, tableName, tableColumn, defaultValue, selectedValues);

            if (isNullable)
            {
                dropDownList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
                ScrudFactoryHelper.AddDropDownList(htmlTable, label, dropDownList, itemSelectorAnchor, null);
            }
            else
            {
                var required = ScrudFactoryHelper.GetRequiredFieldValidator(dropDownList, errorCssClass);
                ScrudFactoryHelper.AddDropDownList(htmlTable, label + Titles.RequiredFieldIndicator, dropDownList,
                                                   itemSelectorAnchor, required);
            }
        }
Example #4
0
        internal static void AddDecimalTextBox(HtmlTable htmlTable, string resourceClassName, string columnName, string label, string description,
                                               string defaultValue, bool isNullable, int maxLength, string domain, string errorCssClass, bool disabled)
        {
            using (TextBox textBox = ScrudTextBox.GetTextBox(columnName + "_textbox", maxLength))
            {
                if (string.IsNullOrWhiteSpace(label))
                {
                    label = ScrudLocalizationHelper.GetResourceString(resourceClassName, columnName);
                }

                using (CompareValidator validator = GetDecimalValidator(textBox, domain, errorCssClass))
                {
                    textBox.Text     = defaultValue;
                    textBox.ReadOnly = disabled;
                    textBox.CssClass = "decimal";

                    if (!string.IsNullOrWhiteSpace(description))
                    {
                        textBox.CssClass += " activating element";
                        textBox.Attributes.Add("data-content", description);
                    }

                    if (!isNullable)
                    {
                        RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(textBox,
                                                                                                       errorCssClass);
                        ScrudFactoryHelper.AddRow(htmlTable, label + Labels.RequiredFieldIndicator, textBox, validator,
                                                  required);
                        return;
                    }

                    ScrudFactoryHelper.AddRow(htmlTable, label, textBox, validator);
                }
            }
        }
Example #5
0
        internal static void AddRadioButtonList(HtmlTable htmlTable, string resourceClassName, string columnName, bool isNullable, string keys, string values, string selectedValue, string errorCssClass, Assembly assembly, bool disabled)
        {
            if (htmlTable == null)
            {
                return;
            }

            using (RadioButtonList radioButtonList = GetRadioButtonList(columnName + "_radiobuttonlist", keys, values, selectedValue))
            {
                string label = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);

                radioButtonList.Enabled = !disabled;

                if (!isNullable)
                {
                    using (RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(radioButtonList, errorCssClass))
                    {
                        ScrudFactoryHelper.AddRow(htmlTable, label + Titles.RequiredFieldIndicator, radioButtonList, required);
                        return;
                    }
                }

                ScrudFactoryHelper.AddRow(htmlTable, label, radioButtonList);
            }
        }
Example #6
0
        public static void AddTextBox(HtmlTable htmlTable, string resourceClassName, string columnName, string defaultValue, bool isNullable, int maxLength, string errorCssClass, Assembly assembly)
        {
            if (htmlTable == null)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(columnName))
            {
                return;
            }

            using (var textBox = GetTextBox(columnName + "_textbox", maxLength))
            {
                var label = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);

                textBox.Text = defaultValue;

                if (!isNullable)
                {
                    var required = ScrudFactoryHelper.GetRequiredFieldValidator(textBox, errorCssClass);
                    ScrudFactoryHelper.AddRow(htmlTable, label + Titles.RequiredFieldIndicator, textBox, required);
                    return;
                }

                ScrudFactoryHelper.AddRow(htmlTable, label, textBox);
            }
        }
Example #7
0
        internal static void AddTextBox(HtmlTable htmlTable, string resourceClassName, string columnName, string dataType, string defaultValue, bool isNullable, int maxLength, string errorCssClass, Assembly assembly, bool disabled)
        {
            if (htmlTable == null)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(columnName))
            {
                return;
            }

            bool isPasswordField = columnName.ToUpperInvariant().Equals("PASSWORD");

            if (isPasswordField && disabled)
            {
                defaultValue = "fake-password";
            }

            using (TextBox textBox = GetTextBox(columnName + "_textbox", maxLength))
            {
                string label = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);


                if (dataType.ToUpperInvariant().Equals("COLOR"))
                {
                    textBox.CssClass = "color";
                }

                if (isPasswordField)
                {
                    textBox.Attributes.Add("type", "password");
                }

                if (disabled && !isPasswordField)
                {
                    textBox.ReadOnly = true;
                }

                textBox.Text = defaultValue;


                if (!isNullable)
                {
                    using (RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(textBox, errorCssClass))
                    {
                        ScrudFactoryHelper.AddRow(htmlTable, label + Titles.RequiredFieldIndicator, textBox, required);
                        return;
                    }
                }

                ScrudFactoryHelper.AddRow(htmlTable, label, textBox);
            }
        }
Example #8
0
        internal static void AddDateTextBox(HtmlTable htmlTable, string resourceClassName, string columnName, string label, string description,
                                            string defaultValue, bool isNullable, string validatorCssClass, bool disabled)
        {
            if (htmlTable == null)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(columnName))
            {
                return;
            }

            string id = columnName + "_textbox";

            using (TextBox textBox = ScrudTextBox.GetTextBox(id, 100))
            {
                jQueryUI.AddjQueryUIDatePicker(null, id, null, null);

                if (string.IsNullOrWhiteSpace(label))
                {
                    label = ScrudLocalizationHelper.GetResourceString(resourceClassName, columnName);
                }

                textBox.Text     = GetLocalizedDate(defaultValue);
                textBox.ReadOnly = disabled;
                textBox.CssClass = "date";

                if (!string.IsNullOrWhiteSpace(description))
                {
                    textBox.CssClass += " activating element";
                    textBox.Attributes.Add("data-content", description);
                }

                using (CompareValidator dateValidator = GetDateValidator(textBox, validatorCssClass))
                {
                    if (!isNullable)
                    {
                        using (
                            RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(textBox,
                                                                                                           validatorCssClass))
                        {
                            ScrudFactoryHelper.AddRow(htmlTable, label + Labels.RequiredFieldIndicator, textBox,
                                                      dateValidator, required);
                            return;
                        }
                    }

                    ScrudFactoryHelper.AddRow(htmlTable, label, textBox, dateValidator);
                }
            }
        }
Example #9
0
        private void FilterSelectDataBound(object sender, EventArgs e)
        {
            using (DropDownList dropDownList = sender as DropDownList)
            {
                if (dropDownList == null)
                {
                    return;
                }

                foreach (ListItem item in dropDownList.Items)
                {
                    item.Text = ScrudLocalizationHelper.GetResourceString(this.GetResourceClassName(), item.Text);
                }
            }
        }
Example #10
0
        public static void AddCheckBoxList(HtmlTable htmlTable, string resourceClassName, string columnName, bool isNullable, string keys, string values, string selectedValues, string errorCssClass, Assembly assembly)
        {
            var checkBoxList = GetCheckBoxList(columnName + "_radiobuttonlist", keys, values, selectedValues);
            var label        = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);

            if (!isNullable)
            {
                var required = ScrudFactoryHelper.GetRequiredFieldValidator(checkBoxList, errorCssClass);
                ScrudFactoryHelper.AddRow(htmlTable, label + Titles.RequiredFieldIndicator, checkBoxList,
                                          required);
                return;
            }

            ScrudFactoryHelper.AddRow(htmlTable, label, checkBoxList);
        }
Example #11
0
        internal static void AddNumberTextBox(HtmlTable htmlTable, string resourceClassName, string columnName, string defaultValue, bool isSerial, bool isNullable, int maxLength, string domain, string errorCssClass, Assembly assembly, bool disabled)
        {
            if (htmlTable == null)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(columnName))
            {
                return;
            }

            using (TextBox textBox = ScrudTextBox.GetTextBox(columnName + "_textbox", maxLength))
            {
                using (CompareValidator numberValidator = GetNumberValidator(textBox, domain, errorCssClass))
                {
                    string label = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);

                    if (!string.IsNullOrWhiteSpace(defaultValue))
                    {
                        if (!defaultValue.StartsWith("nextVal", StringComparison.OrdinalIgnoreCase))
                        {
                            textBox.Text = defaultValue;
                        }
                    }

                    textBox.ReadOnly = disabled;

                    if (isSerial)
                    {
                        textBox.ReadOnly = true;
                    }
                    else
                    {
                        if (!isNullable)
                        {
                            using (RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(textBox, errorCssClass))
                            {
                                ScrudFactoryHelper.AddRow(htmlTable, label + Titles.RequiredFieldIndicator, textBox, numberValidator, required);
                                return;
                            }
                        }
                    }

                    ScrudFactoryHelper.AddRow(htmlTable, label, textBox, numberValidator);
                }
            }
        }
Example #12
0
        protected void FilterDropDownList_DataBound(object sender, EventArgs e)
        {
            using (var dropDownList = sender as DropDownList)
            {
                if (dropDownList == null)
                {
                    return;
                }

                foreach (ListItem item in dropDownList.Items)
                {
                    item.Text = ScrudLocalizationHelper.GetResourceString(this.ResourceAssembly,
                                                                          this.GetResourceClassName(), item.Text);
                }
            }
        }
Example #13
0
        public static void AddDecimalTextBox(HtmlTable htmlTable, string resourceClassName, string columnName, string defaultValue, bool isNullable, int maxLength, string domain, string errorCssClass, Assembly assembly)
        {
            var textBox = ScrudTextBox.GetTextBox(columnName + "_textbox", maxLength);
            var label   = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);

            var validator = GetDecimalValidator(textBox, domain, errorCssClass);

            textBox.Text = defaultValue;

            if (!isNullable)
            {
                var required = ScrudFactoryHelper.GetRequiredFieldValidator(textBox, errorCssClass);
                ScrudFactoryHelper.AddRow(htmlTable, label + Titles.RequiredFieldIndicator, textBox, validator, required);
                return;
            }

            ScrudFactoryHelper.AddRow(htmlTable, label, textBox, validator);
        }
Example #14
0
        public static void AddFileUpload(HtmlTable htmlTable, string resourceClassName, string columnName, bool isNullable, string errorCssClass, Assembly assembly)
        {
            string     label      = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);
            FileUpload fileUpload = GetFileUpload(columnName + "_fileupload");
            RegularExpressionValidator validator = GetImageValidator(fileUpload, errorCssClass);

            //Todo: One of the following:
            //1. Ask the script manager to do a synchronous postback on save button click event.
            //2. Implement a handler to upload image using AJAX.

            if (!isNullable)
            {
                RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(fileUpload, errorCssClass);
                ScrudFactoryHelper.AddRow(htmlTable, label + Titles.RequiredFieldIndicator, fileUpload, required,
                                          validator);
                return;
            }

            ScrudFactoryHelper.AddRow(htmlTable, label, fileUpload, validator);
        }
Example #15
0
        private void SearchGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            if (e.Row.RowType == DataControlRowType.Header)
            {
                for (var i = 0; i < e.Row.Cells.Count; i++)
                {
                    var cellText = e.Row.Cells[i].Text;
                    if (!string.IsNullOrWhiteSpace(cellText))
                    {
                        cellText =
                            ScrudLocalizationHelper.GetResourceString(this.ResourceAssembly, this.GetResourceClassName(),
                                                                      cellText);
                        e.Row.Cells[i].Text = cellText;
                    }
                }
            }
        }
Example #16
0
        internal static void AddDecimalTextBox(HtmlTable htmlTable, string resourceClassName, string columnName, string defaultValue, bool isNullable, int maxLength, string domain, string errorCssClass, Assembly assembly, bool disabled)
        {
            using (TextBox textBox = ScrudTextBox.GetTextBox(columnName + "_textbox", maxLength))
            {
                string label = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);

                using (CompareValidator validator = GetDecimalValidator(textBox, domain, errorCssClass))
                {
                    textBox.Text     = defaultValue;
                    textBox.ReadOnly = disabled;

                    if (!isNullable)
                    {
                        RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(textBox, errorCssClass);
                        ScrudFactoryHelper.AddRow(htmlTable, label + Titles.RequiredFieldIndicator, textBox, validator, required);
                        return;
                    }

                    ScrudFactoryHelper.AddRow(htmlTable, label, textBox, validator);
                }
            }
        }
Example #17
0
        internal static void AddDateTextBox(HtmlTable htmlTable, string resourceClassName, string columnName, string defaultValue, bool isNullable, string validatorCssClass, Assembly assembly, bool disabled)
        {
            if (htmlTable == null)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(columnName))
            {
                return;
            }

            string id = columnName + "_textbox";

            using (TextBox textBox = ScrudTextBox.GetTextBox(id, 100))
            {
                Net.Common.jQueryHelper.jQueryUI.AddjQueryUIDatePicker(null, id, null, null);

                string label = ScrudLocalizationHelper.GetResourceString(assembly, resourceClassName, columnName);

                textBox.Text     = GetLocalizedDate(defaultValue);
                textBox.ReadOnly = disabled;
                textBox.CssClass = "date";

                using (CompareValidator dateValidator = GetDateValidator(textBox, validatorCssClass))
                {
                    if (!isNullable)
                    {
                        using (RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(textBox, validatorCssClass))
                        {
                            ScrudFactoryHelper.AddRow(htmlTable, label + Titles.RequiredFieldIndicator, textBox, dateValidator, required);
                            return;
                        }
                    }

                    ScrudFactoryHelper.AddRow(htmlTable, label, textBox, dateValidator);
                }
            }
        }
Example #18
0
        internal static void AddRadioButtonList(HtmlTable htmlTable, string resourceClassName, string columnName, string label, string description,
                                                bool isNullable, string keys, string values, string selectedValue, string errorCssClass, bool disabled)
        {
            if (htmlTable == null)
            {
                return;
            }

            using (RadioButtonList radioButtonList = GetRadioButtonList(columnName + "_radiobuttonlist", keys, values, selectedValue))
            {
                if (!string.IsNullOrWhiteSpace(description))
                {
                    radioButtonList.CssClass += " activating element";
                    radioButtonList.Attributes.Add("data-content", description);
                }

                if (string.IsNullOrWhiteSpace(label))
                {
                    label = ScrudLocalizationHelper.GetResourceString(resourceClassName, columnName);
                }

                radioButtonList.Enabled = !disabled;

                if (!isNullable)
                {
                    using (
                        RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(radioButtonList,
                                                                                                       errorCssClass))
                    {
                        ScrudFactoryHelper.AddRow(htmlTable, label + Labels.RequiredFieldIndicator, radioButtonList,
                                                  required);
                        return;
                    }
                }

                ScrudFactoryHelper.AddRow(htmlTable, label, radioButtonList);
            }
        }
Example #19
0
        internal static void AddDropDownList(string catalog, HtmlTable htmlTable, string resourceClassName, string itemSelectorPath, string columnName, bool isNullable, string tableSchema, string tableName, string tableColumn, string defaultValue, string displayFields, string displayViews, bool useDisplayViewsAsParent, string selectedValues, string errorCssClass, bool disabled)
        {
            string label = ScrudLocalizationHelper.GetResourceString(resourceClassName, columnName);

            using (DropDownList dropDownList = GetDropDownList(columnName + "_dropdownlist"))
            {
                if (disabled)
                {
                    dropDownList.Attributes.Add("disabled", "disabled");
                }

                using (DataTable table = GetTable(catalog, tableSchema, tableName, tableColumn, displayViews, useDisplayViewsAsParent))
                {
                    SetDisplayFields(dropDownList, table, tableSchema, tableName, tableColumn, displayFields);

                    using (HtmlAnchor itemSelectorAnchor = GetItemSelector(dropDownList.ClientID, itemSelectorPath, tableSchema, tableName, tableColumn, displayViews, resourceClassName, label))
                    {
                        if (disabled)
                        {
                            itemSelectorAnchor.Attributes.Add("style", "pointer-events:none;");
                        }

                        SetSelectedValue(dropDownList, tableSchema, tableName, tableColumn, defaultValue, selectedValues);

                        if (isNullable)
                        {
                            dropDownList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
                            ScrudFactoryHelper.AddDropDownList(htmlTable, label, dropDownList, itemSelectorAnchor, null);
                        }
                        else
                        {
                            RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(dropDownList, errorCssClass);
                            ScrudFactoryHelper.AddDropDownList(htmlTable, label + Titles.RequiredFieldIndicator, dropDownList, itemSelectorAnchor, required);
                        }
                    }
                }
            }
        }
Example #20
0
        internal static void AddDropDownList(string catalog, HtmlTable container, string resourcePrefix,
                                             string itemSelectorPath, string currentSchema, string currentTable, string columnName, string label, string description,
                                             bool isNullable, string targetSchema, string targetTable,
                                             string targetColumn, string defaultValue, string displayFields, string displayViews,
                                             bool useDisplayViewsAsParent, string selectedValues, string errorCssClass, bool disabled,
                                             bool useLocalColumnInDisplayViews)
        {
            if (string.IsNullOrWhiteSpace(label))
            {
                label = ScrudLocalizationHelper.GetResourceString(resourcePrefix, columnName);
            }

            using (DropDownList dropDownList = GetDropDownList(columnName + "_dropdownlist"))
            {
                if (!string.IsNullOrWhiteSpace(description))
                {
                    dropDownList.CssClass += " activating element";
                    dropDownList.Attributes.Add("data-content", description);
                }

                if (disabled)
                {
                    dropDownList.Attributes.Add("disabled", "disabled");
                }

                using (
                    DataTable table = GetTable(catalog, targetSchema, targetTable, targetColumn,
                                               currentSchema, currentTable, columnName, displayViews, useDisplayViewsAsParent,
                                               useLocalColumnInDisplayViews))
                {
                    SetDisplayFields(catalog, dropDownList, table, targetSchema, targetTable, targetColumn,
                                     currentSchema, currentTable, columnName, displayFields,
                                     useLocalColumnInDisplayViews);

                    using (
                        HtmlAnchor itemSelectorAnchor = GetItemSelector(catalog, dropDownList.ClientID, itemSelectorPath,
                                                                        targetSchema, targetTable, targetColumn, currentSchema,
                                                                        currentTable, columnName, displayViews, resourcePrefix, label,
                                                                        useLocalColumnInDisplayViews))
                    {
                        if (disabled)
                        {
                            itemSelectorAnchor.Attributes.Add("style", "pointer-events:none;");
                        }

                        SetSelectedValue(catalog, dropDownList, targetSchema, targetTable, targetColumn,
                                         currentSchema, currentTable, columnName, defaultValue, selectedValues,
                                         useLocalColumnInDisplayViews);

                        if (isNullable)
                        {
                            dropDownList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
                            ScrudFactoryHelper.AddDropDownList(container, label, dropDownList, itemSelectorAnchor, null);
                        }
                        else
                        {
                            RequiredFieldValidator required = ScrudFactoryHelper.GetRequiredFieldValidator(
                                dropDownList, errorCssClass);
                            ScrudFactoryHelper.AddDropDownList(container, label + Labels.RequiredFieldIndicator,
                                                               dropDownList, itemSelectorAnchor, required);
                        }
                    }
                }
            }
        }