Exemplo n.º 1
0
        public static StringBuilder GetCombosAttributeValue(CascadingSelectList selectList)
        {
            var list       = selectList.ToList();
            var finalItems = new StringBuilder();

            if (list.Any())
            {
                var parentIds = list.Select(i => i.ParentValue).Distinct().ToList();
                if (parentIds.Any())
                {
                    foreach (var currParent in parentIds)
                    {
                        EnsureNoSpecialCharacters(currParent);
                        finalItems.Append(currParent);
                        finalItems.Append("{");
                        var childIds = list.Where(i => i.ParentValue == currParent);
                        if (childIds.Any())
                        {
                            foreach (var currChild in childIds)
                            {
                                EnsureNoSpecialCharacters(currChild.Value);
                                EnsureNoSpecialCharacters(currChild.Text);
                                finalItems.AppendFormat("{0}~{1}{2};", currChild.Value, (currChild.Selected ? 1 : 0), currChild.Text);
                            }
                            finalItems.Remove(finalItems.Length - 1, 1);
                        }
                        finalItems.Append("}");
                    }
                }
            }
            return(finalItems);
        }
Exemplo n.º 2
0
        public static MvcHtmlString ListBoxChildFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper,
                                                                        Expression <Func <TModel, TProperty> >
                                                                        expression,
                                                                        CascadingSelectList selectList, Dictionary <string, object> htmlAttributes = null)
        {
            var combosValue = GetCombosAttributeValue(selectList);

            if (htmlAttributes == null)
            {
                htmlAttributes = new Dictionary <string, object>();
            }

            htmlAttributes.Add("combos", combosValue);
            htmlAttributes.Add("parentListId", selectList.ParentSelectListPropertyName);

            return(System.Web.Mvc.Html.SelectExtensions.ListBoxFor(
                       htmlHelper, expression, selectList, htmlAttributes));
        }
Exemplo n.º 3
0
 public static MvcHtmlString ControlBundleListBoxChildFor <TModel, TValue>(
     this HtmlHelper <TModel> htmlHelper,
     Expression <Func <TModel, TValue> > expression,
     CascadingSelectList selectList,
     string controlGroupClass = DefaultControlGroupClass,
     IDictionary <string, object> controlGroupHtmlAttributes = null,
     string labelClass = DefaultLabelClass,
     IDictionary <string, object> labelHtmlAttributes = null,
     string controlsClass = DefaultControlsClass,
     IDictionary <string, object> controlsHtmlAttributes = null,
     string helpInlineClass = DefaultHelpInlineClass,
     IDictionary <string, object> helpInlineHtmlAttributes = null, bool readOnly = false,
     MvcHtmlString controlForReadOnly = null)
 {
     return(ControlBundleFor(htmlHelper, expression, htmlHelper.ListBoxChildFor(expression, selectList),
                             controlGroupClass,
                             controlGroupHtmlAttributes, labelClass, labelHtmlAttributes, controlsClass,
                             controlsHtmlAttributes, helpInlineClass, helpInlineHtmlAttributes, readOnly, controlForReadOnly));
 }
Exemplo n.º 4
0
        public static MvcHtmlString ListBoxChild(this HtmlHelper htmlHelper, string name, CascadingSelectList selectList, Dictionary <string, object> htmlAttributes = null)
        {
            var combosValue = GetCombosAttributeValue(selectList);

            if (htmlAttributes == null)
            {
                htmlAttributes = new Dictionary <string, object>();
            }

            htmlAttributes.Add("combos", combosValue);
            htmlAttributes.Add("parentListId", selectList.ParentSelectListPropertyName);

            return(System.Web.Mvc.Html.SelectExtensions.ListBox(
                       htmlHelper, name, selectList, htmlAttributes));
        }
Exemplo n.º 5
0
        public void PopulateAllTestDropDownItems()
        {
            AllTestDropDownItems = new List <SelectListItem>();
            AllTestDropDownItems.Add(new SelectListItem {
                Text = "One", Value = "1"
            });
            AllTestDropDownItems.Add(new SelectListItem {
                Text = "Two", Value = "2"
            });
            AllTestDropDownItems.Add(new SelectListItem {
                Text = "Other", Value = "3"
            });

            AllParentItems = new List <SelectListItem>();
            //AllParentItems.Add(new SelectListItem { Text = "", Value = "" });
            AllParentItems.Add(new SelectListItem {
                Text = "Parent 1", Value = "1"
            });
            AllParentItems.Add(new SelectListItem {
                Text = "Parent 2", Value = "2", Selected = true
            });
            AllParentItems.Add(new SelectListItem {
                Text = "Parent 3", Value = "3"
            });

            AllChildItems = new CascadingSelectList();
            AllChildItems.ParentSelectListPropertyName = "ParentItemId";
            //AllChildItems.Add(new ChildSelectListItem { Text = "", ParentValue = "1", Value = "" });
            AllChildItems.Add(new ChildSelectListItem {
                Text = "Child 1 of Parent 1", ParentValue = "1", Value = "1"
            });
            //AllChildItems.Add(new ChildSelectListItem { Text = "", ParentValue = "2", Value = "" });
            AllChildItems.Add(new ChildSelectListItem {
                Text = "Child 1 of Parent 2", ParentValue = "2", Value = "2"
            });
            AllChildItems.Add(new ChildSelectListItem {
                Text = "Child 2 of Parent 2", ParentValue = "2", Value = "3", Selected = true
            });
            //AllChildItems.Add(new ChildSelectListItem { Text = "", ParentValue = "3", Value = "" });
            AllChildItems.Add(new ChildSelectListItem {
                Text = "Child 1 of Parent 3", ParentValue = "3", Value = "4"
            });
            AllChildItems.Add(new ChildSelectListItem {
                Text = "Child 2 of Parent 3", ParentValue = "3", Value = "5", Selected = true
            });
            AllChildItems.Add(new ChildSelectListItem {
                Text = "Child 3 of Parent 3", ParentValue = "3", Value = "6"
            });

            AllChildOfChildItems = new CascadingSelectList();
            AllChildOfChildItems.ParentSelectListPropertyName = "ChildItemId";
            //AllChildOfChildItems.Add(new ChildSelectListItem { Text = "", ParentValue = "1", Value = "" });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 1 of Child 1", ParentValue = "1", Value = "1"
            });
            //AllChildOfChildItems.Add(new ChildSelectListItem { Text = "", ParentValue = "2", Value = "" });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 1 of Child 2", ParentValue = "2", Value = "2"
            });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 2 of Child 2", ParentValue = "2", Value = "3", Selected = true
            });
            //AllChildOfChildItems.Add(new ChildSelectListItem { Text = "", ParentValue = "3", Value = "" });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 1 of Child 3", ParentValue = "3", Value = "4"
            });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 2 of Child 3", ParentValue = "3", Value = "5", Selected = true
            });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 3 of Child 3", ParentValue = "3", Value = "6"
            });
            //AllChildOfChildItems.Add(new ChildSelectListItem { Text = "", ParentValue = "4", Value = "" });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 1 of Child 4", ParentValue = "4", Value = "7"
            });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 2 of Child 4", ParentValue = "4", Value = "8", Selected = true
            });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 3 of Child 4", ParentValue = "4", Value = "9"
            });
            AllChildOfChildItems.Add(new ChildSelectListItem {
                Text = "ChildOfChild 4 of Child 4", ParentValue = "4", Value = "10"
            });
        }
Exemplo n.º 6
0
        public void PopulateAllTestDropDownItems()
        {
            AllTestDropDownItems = new List<SelectListItem>();
            AllTestDropDownItems.Add(new SelectListItem { Text = "One", Value = "1" });
            AllTestDropDownItems.Add(new SelectListItem { Text = "Two", Value = "2" });
            AllTestDropDownItems.Add(new SelectListItem { Text = "Other", Value = "3" });

            AllParentItems = new List<SelectListItem>();
            AllParentItems.Add(new SelectListItem { Text = "[Please Select]", Value = "0" });
            AllParentItems.Add(new SelectListItem { Text = "Parent 1", Value = "1" });
            AllParentItems.Add(new SelectListItem { Text = "Parent 2", Value = "2", Selected=true });
            AllParentItems.Add(new SelectListItem { Text = "Parent 3", Value = "3" });

            AllChildItems = new CascadingSelectList();
            AllChildItems.ParentSelectListPropertyName = "ParentItemId";
            AllChildItems.Add(new ChildSelectListItem { Text = "[Please Select]", ParentValue = "1", Value = "0" });
            AllChildItems.Add(new ChildSelectListItem { Text = "Child 1 of Parent 1", ParentValue = "1", Value = "1" });
            AllChildItems.Add(new ChildSelectListItem { Text = "[Please Select]", ParentValue = "2", Value = "0" });
            AllChildItems.Add(new ChildSelectListItem { Text = "Child 1 of Parent 2", ParentValue = "2", Value = "2" });
            AllChildItems.Add(new ChildSelectListItem { Text = "Child 2 of Parent 2", ParentValue = "2", Value = "3", Selected=true });
            AllChildItems.Add(new ChildSelectListItem { Text = "[Please Select]", ParentValue = "3", Value = "0" });
            AllChildItems.Add(new ChildSelectListItem { Text = "Child 1 of Parent 3", ParentValue = "3", Value = "4" });
            AllChildItems.Add(new ChildSelectListItem { Text = "Child 2 of Parent 3", ParentValue = "3", Value = "5", Selected=true });
            AllChildItems.Add(new ChildSelectListItem { Text = "Child 3 of Parent 3", ParentValue = "3", Value = "6" });

            AllChildOfChildItems = new CascadingSelectList();
            AllChildOfChildItems.ParentSelectListPropertyName = "ChildItemId";
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "[Please Select]", ParentValue = "1", Value = "0" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 1 of Child 1", ParentValue = "1", Value = "1" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "[Please Select]", ParentValue = "2", Value = "0" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 1 of Child 2", ParentValue = "2", Value = "2" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 2 of Child 2", ParentValue = "2", Value = "3", Selected=true });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "[Please Select]", ParentValue = "3", Value = "0" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 1 of Child 3", ParentValue = "3", Value = "4" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 2 of Child 3", ParentValue = "3", Value = "5", Selected=true });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 3 of Child 3", ParentValue = "3", Value = "6" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "[Please Select]", ParentValue = "4", Value = "0" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 1 of Child 4", ParentValue = "4", Value = "7" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 2 of Child 4", ParentValue = "4", Value = "8", Selected=true });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 3 of Child 4", ParentValue = "4", Value = "9" });
            AllChildOfChildItems.Add(new ChildSelectListItem { Text = "ChildOfChild 4 of Child 4", ParentValue = "4", Value = "10" });
        }