private static string ParseCheckBox(IAttributes attributes, TableStyleInfo styleInfo, StringBuilder extraBuilder) { if (styleInfo.Additional.IsValidate) { extraBuilder.Append( $@"<span id=""{styleInfo.AttributeName}_msg"" style=""color:red;display:none;"">*</span><script>event_observe('{styleInfo.AttributeName}', 'blur', checkAttributeValue);</script>"); } var builder = new StringBuilder(); var styleItems = styleInfo.StyleItems ?? DataProvider.TableStyleItemDao.GetStyleItemInfoList(styleInfo.Id); var checkBoxList = new CheckBoxList { CssClass = "checkbox checkbox-primary", ID = styleInfo.AttributeName, RepeatDirection = styleInfo.IsHorizontal ? RepeatDirection.Horizontal : RepeatDirection.Vertical, RepeatColumns = styleInfo.Additional.Columns }; var selectedValues = TranslateUtils.StringCollectionToStringList(attributes.GetString(styleInfo.AttributeName)); InputParserUtils.GetValidateAttributesForListItem(checkBoxList, styleInfo.Additional.IsValidate, styleInfo.DisplayName, styleInfo.Additional.IsRequired, styleInfo.Additional.MinNum, styleInfo.Additional.MaxNum, styleInfo.Additional.ValidateType, styleInfo.Additional.RegExp, styleInfo.Additional.ErrorMessage); foreach (var styleItem in styleItems) { var isSelected = selectedValues.Contains(styleItem.ItemValue); var listItem = new ListItem(styleItem.ItemTitle, styleItem.ItemValue) { Selected = isSelected }; checkBoxList.Items.Add(listItem); } checkBoxList.Attributes.Add("isListItem", "true"); builder.Append(ControlUtils.GetControlRenderHtml(checkBoxList)); var i = 0; foreach (var styleItem in styleItems) { builder.Replace($@"name=""{styleInfo.AttributeName}${i}""", $@"name=""{styleInfo.AttributeName}"" value=""{styleItem.ItemValue}"""); i++; } return(builder.ToString()); }
private static string ParseRadio(IAttributes attributes, TableStyleInfo styleInfo, StringBuilder extraBuilder) { if (styleInfo.Additional.IsValidate) { extraBuilder.Append( $@"<span id=""{styleInfo.AttributeName}_msg"" style=""color:red;display:none;"">*</span><script>event_observe('{styleInfo.AttributeName}', 'blur', checkAttributeValue);</script>"); } var builder = new StringBuilder(); var styleItems = styleInfo.StyleItems ?? DataProvider.TableStyleItemDao.GetStyleItemInfoList(styleInfo.Id); if (styleItems == null || styleItems.Count == 0) { styleItems = new List <TableStyleItemInfo> { new TableStyleItemInfo { ItemTitle = "是", ItemValue = "1" }, new TableStyleItemInfo { ItemTitle = "否", ItemValue = "0" } }; } var radioButtonList = new RadioButtonList { CssClass = "radio radio-primary", ID = styleInfo.AttributeName, RepeatDirection = styleInfo.IsHorizontal ? RepeatDirection.Horizontal : RepeatDirection.Vertical, RepeatColumns = styleInfo.Additional.Columns }; var selectedValue = attributes.GetString(styleInfo.AttributeName); InputParserUtils.GetValidateAttributesForListItem(radioButtonList, styleInfo.Additional.IsValidate, styleInfo.DisplayName, styleInfo.Additional.IsRequired, styleInfo.Additional.MinNum, styleInfo.Additional.MaxNum, styleInfo.Additional.ValidateType, styleInfo.Additional.RegExp, styleInfo.Additional.ErrorMessage); var isTicked = false; foreach (var styleItem in styleItems) { var isOptionSelected = false; if (!isTicked) { isTicked = isOptionSelected = styleItem.ItemValue == selectedValue; } var listItem = new ListItem(styleItem.ItemTitle, styleItem.ItemValue) { Selected = isOptionSelected }; radioButtonList.Items.Add(listItem); } radioButtonList.Attributes.Add("isListItem", "true"); builder.Append(ControlUtils.GetControlRenderHtml(radioButtonList)); return(builder.ToString()); }