示例#1
0
        // 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;
            }
        }
示例#3
0
 // 导出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);
        }