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); }
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)); }
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)); }
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)); }
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" }); }
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" }); }