Esempio n. 1
0
        protected virtual ColumnConfigView CreateColumn(FormConfigView formView, ColumnConfig column)
        {
            ColumnConfigView colView = new ColumnConfigView();

            colView.ControlType = column.ControlType;
            colView.DisplayName = column.DisplayName;
            colView.Prompt      = column.Prompt;
            colView.ValPrompt   = column.ValPrompt;

            //if ((PageStyle == PageStyle.Update || PageStyle == PageStyle.Insert) && colView.ValPrompt != null && column.ShowType > 0)
            //{

            //    column.ShowType = column.ShowType >= 3?0:2;

            //}
            if (column.Changer != null)
            {
                colView.Changer               = new ChangerViewConfig();
                colView.Changer.Expression    = column.Changer.Expression;
                colView.Changer.DependColumns = column.Changer.DependColumns;
                colView.Changer.NotifyColumns = column.Changer.NotifyColumns;
            }

            if (column.ShowType == 0 ||
                column.ControlType == ControlType.XFormCol ||
                column.ControlType == ControlType.AllImageShow ||
                column.ControlType == ControlType.Editor ||
                column.ControlType == ControlType.EditorDetail ||
                column.ControlType == ControlType.ImageDetail ||
                column.ControlType == ControlType.PCAS ||
                column.ControlType == ControlType.MultiSelector ||
                column.ControlType == ControlType.MultiImageUpload ||
                column.ControlType == ControlType.SingleImageUpload ||
                column.ControlType == ControlType.SingleFileUpload ||
                column.ControlType == ControlType.MultiFileUpload ||
                column.ControlType == ControlType.FormMultiSelector ||
                column.ControlType == ControlType.TextArea)
            {
                colView.ShowType = 4;// "ColShowType".AppKv<int>(4);
            }
            else
            {
                colView.ShowType = column.ShowType;
            }
            if (column.ControlType == ControlType.Hidden)
            {
                colView.ShowType = 0;
            }
            colView.Sortable     = column.Sortable;
            colView.IsDetailLink = column.IsDetailLink;
            colView.Name         = column.Name;
            colView.Kind         = column.Kind;
            colView.NormalStyle  = column.NormalStyle;
            colView.TdStyle      = column.TdStyle;
            //colView.TdClass = column.TdClass;
            colView.IsHiddenCol = column.IsHiddenCol;
            colView.Width       = column.Width;
            //colView.IsMulitText = column.IsMulitText;
            //colView.Border = column.Border;

            colView.PxWidth        = column.Width.lengToFloat();
            colView.PxHeight       = column.Height.lengToFloat();
            colView.LinkFormat     = column.LinkFormat;
            colView.ChangeEventFun = column.ChangeEventFun;
            //colView.Report = column.Report;
            //colView.TreeConfig = column.TreeConfig;
            colView.ShortCutName = column.ShortCutName;
            //colView.Amount = column.Amount;
            //colView.TextRegName = column.TextRegName;
            //  colView.XForm = column.XForm;

            if (column.ControlType == ControlType.Custom)
            {
                //Debug.AssertArgumentNull(column.CustomControl, "Custom控件类型需要配置CustomControl", column);
                //Debug.AssertArgumentNullOrEmpty(column.CustomControl.ControlType, "CustomControl中必须指定自定义控件类型", column);
            }

            //colView.CustomControl = column.CustomControl;
            //if (column.ControlType == ControlType.Editor)
            //{
            //    colView.Editor = column.Editor;
            //}

            if (!column.SourceName.IsEmpty())
            {
                colView.QingColumnName = column.Name;
            }

            string controlRegname = column.ControlType.ToString();
            // to.Options
            var optionCreator = provider.GetCodePlugService <OptionCreator>(controlRegname); //controlRegname.CodePlugIn<OptionCreator>();

            //初始化
            optionCreator.Initialize(BasePageView, formView, column, PageStyle);
            //方法调用
            colView.Options = optionCreator.Create();
            return(colView);
        }
        private void CreateSearchColumn(FormConfigView formView, ColumnConfig column)
        {
            ColumnConfigView colView = new ColumnConfigView();

            if (column.IsReadOnly)
            {
                column.IsReadOnly = false;
            }

            if (column.ControlType == ControlType.TreeMultiSelector)
            {
                colView.ControlType = ControlType.TreeSingleSelector;
            }
            else if (column.ControlType == ControlType.Detail || column.ControlType == ControlType.TextArea || (column.Search != null && column.Search.IsLike == true))//添加如果islike为true
            {
                colView.ControlType = ControlType.Text;
            }
            //else if (column.Search.ControlType != ControlType.None)
            //{
            //    colView.ControlType = column.Search.ControlType;
            //}
            else if (column.ControlType == ControlType.SingleCheckBox)
            {
                colView.ControlType = ControlType.Combo;
                column.RegName      = "SingleCheckBoxIsOrNo";
            }
            else
            {
                colView.ControlType = column.ControlType;
            }
            //搜索区的控件类型当为搜索字段配置的控件类型
            if (column.Search.ControlType != ControlType.None)
            {
                colView.ControlType = column.Search.ControlType;
            }
            if (column.Search.DateSpan)
            {
                colView.DisplayName = column.DisplayName + "开始";
            }
            else
            {
                colView.DisplayName = column.DisplayName;
            }
            colView.DisplayName = column.DisplayName;
            colView.Name        = column.Name;

            string controlRegname = colView.ControlType.ToString();
            // to.Options
            var optionCreator = provider.GetCodePlugService <OptionCreator>(controlRegname);// controlRegname.CodePlugIn<OptionCreator>();

            //初始化
            optionCreator.Initialize(BasePageView, formView, column, PageStyle.None);
            //方法调用
            colView.Options = optionCreator.Create();

            if (!column.DetailRegName.IsEmpty())
            {
                colView.Options.RegName = column.DetailRegName;
            }
            if (column.Search != null && column.Search.IsOpenByDefault == true)
            {
                colView.Options.IsOpenByDefault = true;
            }
            colView.Options.DataValue = null;
            if (column.ControlType == ControlType.Text) //Text字段,模糊查询
            {
                colView.Options.PostSetting.ColumnName = colView.Name + "_LIKE";
            }
            //如果islike为true则
            if (column.Search != null && column.Search.IsLike == true)
            {
                colView.Options.PostSetting.ColumnName = colView.Name + "_LIKE";
                colView.Options.IsLike = true;
            }
            if (column.Search.IsExtension) //查询扩展
            {
                colView.Options.PostSetting.ColumnName = colView.Name + "_IN";
            }

            //查询区日期控件需要扩展成2个控件
            if (column.Search.DateSpan)
            {
                colView.DisplayName = column.DisplayName + "开始";
                formView.Columns.Add(colView);
                PageStyle = PageStyle.None;//避免创建选择器控件或多选控件的时候重复解码CodeTable
                var col = CreateColumn(formView, column);
                PageStyle             = PageStyle.List;
                col.DisplayName       = column.DisplayName + "结束";
                col.Name              = column.Name + "_END";
                col.ControlType       = colView.ControlType;
                col.Options.DataValue = null;
                col.Options.PostSetting.ColumnName = col.Name;
                formView.Columns.Add(col);
            }
            else
            {
                formView.Columns.Add(colView);
            }
        }
Esempio n. 3
0
        protected virtual NaviColumnConfigView CreateColumnNavigation(ColumnConfigView ColumnConfigView, ColumnConfig columnConfig)
        {
            if (ColumnConfigView == null || columnConfig == null)
            {
                return(null);
            }
            try
            {
                ColumnConfigView viewColumn = new ColumnConfigView();
                ColumnConfigView.ObjectClone <ColumnConfigView>(viewColumn);
                // viewColumn = ColumnConfigView.c
                // viewColumn = ColumnConfigView;


                NaviColumnConfigView naviViewColumn = new NaviColumnConfigView();
                naviViewColumn.ChangeEventFun = viewColumn.ChangeEventFun;
                naviViewColumn.DisplayName    = viewColumn.DisplayName;
                naviViewColumn.Prompt         = viewColumn.Prompt;
                naviViewColumn.ValPrompt      = viewColumn.ValPrompt;
                naviViewColumn.Kind           = viewColumn.Kind;
                naviViewColumn.Name           = viewColumn.Name;
                naviViewColumn.ShowType       = viewColumn.ShowType;
                naviViewColumn.NormalStyle    = viewColumn.NormalStyle;
                naviViewColumn.Width          = viewColumn.Width;
                naviViewColumn.PxWidth        = viewColumn.Width.lengToFloat();
                naviViewColumn.IsMulitText    = viewColumn.IsMulitText;
                naviViewColumn.PxHeight       = viewColumn.PxHeight;
                naviViewColumn.Border         = viewColumn.Border;

                naviViewColumn.TdStyle     = viewColumn.TdStyle;
                naviViewColumn.TdClass     = viewColumn.TdClass;
                naviViewColumn.IsHiddenCol = viewColumn.IsHiddenCol;
                naviViewColumn.Sortable    = viewColumn.Sortable;
                naviViewColumn.Options     = new BaseOptions();
                viewColumn.Options.ObjectClone(naviViewColumn.Options);
                naviViewColumn.IsRefrech   = columnConfig.Navigation.IsRefrech;
                naviViewColumn.IsAvailable = columnConfig.Navigation.IsAvailable;
                naviViewColumn.IsExpand    = columnConfig.Navigation.IsExpand;
                if (!string.IsNullOrEmpty(columnConfig.Navigation.RegName))
                {
                    naviViewColumn.Options.RegName = columnConfig.Navigation.RegName;
                }
                ControlType controlType = columnConfig.Navigation.ControlType;
                if (controlType == ControlType.CheckBoxNavi ||
                    controlType == ControlType.RadioNavi ||
                    controlType == ControlType.TreeSingleNavi ||
                    controlType == ControlType.TreeMultiNavi ||
                    controlType == ControlType.SingleRadioNavi ||
                    controlType == ControlType.RadioNavi ||
                    controlType == ControlType.NaviFilter
                    )
                {
                    naviViewColumn.ControlType = controlType;
                }
                else
                {
                    switch (columnConfig.ControlType)
                    {
                    case ControlType.Combo:
                    case ControlType.Radio:
                        naviViewColumn.ControlType = ControlType.RadioNavi;
                        break;

                    case ControlType.CheckBox:
                        naviViewColumn.ControlType = ControlType.CheckBoxNavi;
                        break;

                    case ControlType.SingleCheckBox:
                        naviViewColumn.ControlType = ControlType.SingleRadioNavi;
                        break;

                    case ControlType.TreeSingleSelector:
                        naviViewColumn.ControlType = ControlType.TreeSingleNavi;
                        break;

                    case ControlType.TreeMultiSelector:
                        naviViewColumn.ControlType = ControlType.TreeMultiNavi;
                        break;

                    case ControlType.NaviFilter:
                        naviViewColumn.ControlType = ControlType.NaviFilter;
                        break;

                    default:
                        return(null);
                    }
                }
                return(naviViewColumn);
            }
            catch
            {
                return(null);
            }
        }