Пример #1
0
        private void SetPageProperties(Tk5EditConfig edit, Tk5ListDetailConfig listDetail, IPageStyle style)
        {
            switch (style.Style)
            {
            case PageStyle.Insert:
            case PageStyle.Update:
                Edit       = Tk5EditConfig.Clone(edit);
                ListDetail = Tk5ListDetailConfig.Clone(listDetail);
                break;

            case PageStyle.Detail:
            case PageStyle.List:
                ListDetail = Tk5ListDetailConfig.Clone(listDetail);
                if (ListDetail != null && ListDetail.Link != null)
                {
                    ListDetail.Link.ProcessType();
                }
                if (DataType == TkDataType.Text)
                {
                    if (ListDetail == null)
                    {
                        ListDetail          = new Tk5ListDetailConfig();
                        ListDetail.TextHead = true;
                    }
                }
                if (style.Style == PageStyle.List)
                {
                    Edit = Tk5EditConfig.Clone(edit);
                }
                break;
            }
        }
Пример #2
0
        public static bool IsShowInList(IFieldControl control, Tk5ListDetailConfig listDetail,
                                        FieldKind kind, IPageStyle style, bool isInTable)
        {
            if (control == null)
            {
                return(false);
            }
            if ((control.DefaultShow & PageStyle.List) != PageStyle.List ||
                kind != FieldKind.Data)
            {
                return(false);
            }

            if (isInTable)
            {
                var ctrl = control.GetControl(style);
                if (ctrl == ControlType.Hidden)
                {
                    return(false);
                }
                if (listDetail != null && listDetail.Search == FieldSearchMethod.Only)
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #3
0
        internal Tk5FieldInfoEx(AddFieldConfig field, IPageStyle style)
        {
            FieldName   = field.FieldName;
            NickName    = field.NickName;
            DataType    = field.DataType;
            Length      = field.Length;
            IsEmpty     = field.IsEmpty;
            PlaceHolder = field.PlaceHolder;
            Kind        = field.Kind;
            Hint        = FieldConfigItem.ToString(field.Hint, null);
            if (field.Hint != null)
            {
                HintPosition = field.Hint.Position;
            }
            DisplayName     = FieldConfigItem.ToString(field.DisplayName, string.Empty);
            InternalControl = new SimpleFieldControl(field.Control, field.Order, style.Style);
            if (field.CodeTable != null)
            {
                Decoder = new SimpleFieldDecoder(field.CodeTable, DecoderType.CodeTable);
            }
            else if (field.EasySearch != null)
            {
                Decoder = new SimpleFieldDecoder(field.EasySearch, DecoderType.EasySearch);
            }
            else
            {
                Decoder = new SimpleFieldDecoder();
            }

            Extension = field.Extension;
            Layout    = field.Layout;
            ResetExpression();
            SetPageProperties(field.Edit, field.ListDetail, style);
            if (ListDetail != null)
            {
                ListDetail.TextHead = true;
            }
            else
            {
                ListDetail = new Tk5ListDetailConfig {
                    TextHead = true
                }
            };
            SetDisplay(style);
        }
Пример #4
0
        private void SetDisplay(IPageStyle style)
        {
            PageStyle pageStyle = style.Style;

            if (ListDetail == null)
            {
                ListDetail = new Tk5ListDetailConfig();
            }
            bool edit = pageStyle == PageStyle.Insert || pageStyle == PageStyle.Update ||
                        pageStyle == PageStyle.List;

            if (edit && Edit == null)
            {
                Edit = new Tk5EditConfig();
            }
            if (ListDetail.ListDisplay == null)
            {
                var display = GetListDisplay();
                if (display == null)
                {
                    display = GetNormalDisplay();
                }
                ListDetail.ListDisplay = display;
            }
            if (ListDetail.DetailDisplay == null)
            {
                ListDetail.DetailDisplay = ListDetail.ListDisplay;
            }
            if (edit)
            {
                if (Edit.Display == null)
                {
                    var display = GetNormalEditDisplay();
                    if (display == null)
                    {
                        display = GetNormalDisplay(false);
                    }
                    Edit.Display = display;
                }
            }
        }