// checkbox下拉菜单选项值 public static IEnumerable <IDecoderItem> GetDecoderItem(Tk5FieldInfoEx fieldInfo) { CodeTableContainer ctContainer = new CodeTableContainer(); string regName = fieldInfo.Decoder.RegName; CodeTable codeTable = PlugInFactoryManager.CreateInstance <CodeTable>( CodeTablePlugInFactory.REG_NAME, regName); codeTable.Fill(ctContainer); IEnumerable <IDecoderItem> data = ctContainer[regName]; return(data); }
public CodeTableColumnReader(Tk5FieldInfoEx fieldInfo, TkDbContext context, int cellIndex) : base(fieldInfo, cellIndex) { CodeTableContainer ctContainer = new CodeTableContainer(); string regName = fieldInfo.Decoder.RegName; CodeTable codeTable = PlugInFactoryManager.CreateInstance <CodeTable>( CodeTablePlugInFactory.REG_NAME, regName); codeTable.Fill(ctContainer, context); IEnumerable <IDecoderItem> data = ctContainer[regName]; fCodeTable = new Dictionary <string, IDecoderItem>(); foreach (var item in data) { fCodeTable[item.Name] = item; } }
// 导出checkbox下拉菜单选项 private static IEnumerable<IDecoderItem> GetDecoderItem(Tk5FieldInfoEx fieldInfo) { CodeTableContainer ctContainer = new CodeTableContainer(); string regName = fieldInfo.Decoder.RegName; CodeTable codeTable = PlugInFactoryManager.CreateInstance<CodeTable>( CodeTableConfigFactory.REG_NAME, regName); codeTable.Fill(ctContainer); IEnumerable<IDecoderItem> data = ctContainer[regName]; return data; }
public static string Control(this Tk5FieldInfoEx field, ObjectContainer container, CodeTableContainer codeTables, bool needId = true) { TkDebug.AssertArgumentNull(field, "field", null); ControlType ctrlType = field.InternalControl.SrcControl; string result = string.Empty; switch (ctrlType) { case ControlType.TextArea: result = field.Textarea(container, needId); break; case ControlType.Combo: result = field.Combo(container, codeTables, needId); break; //case ControlType.RadioGroup: // result = field.RadioGroup(dataRow, dataSet); // break; case ControlType.Text: case ControlType.Password: result = field.Input(container, needId); break; //case ControlType.CheckBox: // result = field.Switcher(dataRow); // break; //case ControlType.Date: // result = field.Date(dataRow); // break; //case ControlType.DateTime: // result = field.DateTime(dataRow); // break; //case ControlType.Time: // result = field.Time(dataRow); // break; //case ControlType.EasySearch: // result = field.EasySearch(dataRow); // break; case ControlType.Label: result = field.Detail(container, true, needId); break; //case ControlType.RichText: // result = field.RichText(dataRow); // break; //case ControlType.Upload: // result = field.Upload(dataRow); // break; } return result; }
public static string Combo(this Tk5FieldInfoEx field, ObjectContainer container, CodeTableContainer codeTables, bool needId) { TkDebug.AssertArgumentNull(field, "field", null); return InternalCombo(field, field.NickName, container, codeTables, needId); }
private static string InternalCombo(Tk5FieldInfoEx field, string name, ObjectContainer container, CodeTableContainer codeTables, bool needId) { HtmlAttributeBuilder builder = new HtmlAttributeBuilder(); AddNormalAttribute(field, builder, name, needId); TkDebug.AssertNotNull(field.Decoder, "Combo控件需要配置Decoder", field); IEnumerable<IDecoderItem> codeTable = codeTables == null ? null : codeTables[field.Decoder.RegName]; StringBuilder options = new StringBuilder(); if (field.IsEmpty) { string emptyTitle; if (field.Extension != null && field.Extension.EmptyTitle != null) emptyTitle = field.Extension.EmptyTitle; else emptyTitle = string.Empty; options.Append("<option value=\"\">").Append(emptyTitle).AppendLine("</option>"); } string value = MemberValue(field.NickName, container.MainObject).ConvertToString(); if (codeTable != null) { foreach (IDecoderItem codeRow in codeTable) { string codeValue = codeRow.Value; options.AppendFormat(ObjectUtil.SysCulture, "<option value=\"{0}\"{1}>{2}</option>\r\n", codeValue, codeValue == value ? " selected" : string.Empty, codeRow.Name); } } return string.Format(ObjectUtil.SysCulture, "<select {0}>{1}</select>{2}", builder.CreateAttribute(), options, ERROR_LABEL); }