Exemplo n.º 1
0
 public void Initialize(PageConfigView pageView, FormConfigView formView, ColumnConfig columnConfig, PageStyle style)
 {
     this.PageView      = pageView;
     this.FormView      = formView;
     this.Config        = columnConfig;
     this.ViewPageStyle = style;
 }
Exemplo n.º 2
0
        protected virtual void CreateGroupColumns(FormConfigView formView, DataFormConfig dataformConfig)
        {
            //dataformConfig.ColumnGroups.ForEach(group =>
            //{
            //    var columnGroup = new ColumnGroupConfigView();
            //    columnGroup.ShowType = group.ShowType == 0 ? "ColShowType".AppKv<int>(4) : group.ShowType;
            //    columnGroup.Name = group.Name;
            //    columnGroup.DisplayName = group.DisplayName;
            //    columnGroup.Columns = new List<ColumnConfigView>();
            //    var hiddenColCount = 0;
            //    group.Columns.ForEach(col =>
            //    {
            //        var colView = formView.Columns.FirstOrDefault(x => x.Name == col.Name);
            //        if (colView != null)
            //        {
            //            columnGroup.Columns.Add(colView);
            //            if (colView.ControlType == ControlType.Hidden)
            //            {
            //                hiddenColCount++;
            //            }
            //        }

            //    });
            //    //组内没有成员,该组移除,若组内所有字段都是隐藏字段,该组隐藏
            //    if (columnGroup.Columns.Count > 0)
            //    {
            //        formView.ColumnGroups.Add(columnGroup);
            //        if (columnGroup.Columns.Count == hiddenColCount)
            //            columnGroup.IsHidden = true;
            //    }
            //});
        }
        private FormConfigView CreateSearchFormView(FormConfigView formView, List <ColumnConfig> columns)
        {
            FormConfigView searchFormView = new FormConfigView();

            searchFormView.FormType   = FormType.Normal;
            searchFormView.ShowKind   = ShowKind.Tile;
            searchFormView.TableName  = formView.TableName + "_SEARCH";
            searchFormView.PrimaryKey = formView.PrimaryKey;
            searchFormView.Title      = formView.Title + "查询";
            searchFormView.Name       = formView.Name + "_SEARCH";
            searchFormView.Columns    = new List <ColumnConfigView>();
            foreach (var column in columns)
            {
                CreateSearchColumn(searchFormView, column);
            }
            return(searchFormView);
        }
Exemplo n.º 4
0
        protected virtual void CreateColumns(FormConfigView formView, DataFormConfig dataformConfig, FormConfig formConfig)
        {
            foreach (var column in dataformConfig.Columns)
            {
                if ((column.ShowPage & PageStyle) != PageStyle)
                {
                    continue;
                }
                else
                {
                    //var col = CreateColumn(formView, column);
                    ////列表和明细页面的所有字段控件类型为Detail
                    //if (!column.IsKey && (PageStyle == PageStyle.Detail || PageStyle == PageStyle.List))
                    //    col.ControlType = ControlType.Detail;
                    //formView.Columns.Add(col);
                    formView.Columns.Add(CreateColumn(formView, column));

                    //if (column.Navigation != null && column.Navigation.IsAvailable == true)
                    //{
                    //    formView.NavigationColumns.Add(CreateColumnNavigation(formView, column));
                    //}
                }
            }
        }
        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);
            }
        }
        protected override ColumnConfigView CreateColumn(FormConfigView formView, ColumnConfig column)
        {
            var col = base.CreateColumn(formView, column);

            switch (column.ControlType)
            {
            case ControlType.Hidden:
                col.ControlType = ControlType.Hidden;
                break;

            case ControlType.Date:
                col.ControlType = ControlType.DetailDate;
                break;

            case ControlType.MultiFileUpload:
            case ControlType.SingleFileUpload:
                col.ControlType = ControlType.FileDetail;
                break;

            case ControlType.SingleImageUpload:
            case ControlType.MultiImageUpload:
                col.ControlType = ControlType.ImageDetail;
                break;

            case ControlType.Editor:
                col.ControlType = ControlType.EditorDetail;
                break;

            case ControlType.InnerPage:
                col.ControlType = ControlType.InnerPage;
                break;

            case ControlType.InnerForm:
                col.ControlType = ControlType.InnerForm;
                break;

            //case ControlType.MaskCode:
            //    col.ControlType = ControlType.MaskCode;
            //    break;
            case ControlType.Amount:
                col.ControlType = ControlType.AmountDetail;
                break;

            case ControlType.AmountDetail:
                col.ControlType = ControlType.AmountDetail;
                break;

            case ControlType.TwoColumns:
                col.ControlType = ControlType.TwoColumnsDetail;
                break;

            case ControlType.TwoColumnsDetail:
                col.ControlType = ControlType.TwoColumnsDetail;
                break;

            case ControlType.TextArea:
                col.ControlType = ControlType.DetailArea;
                break;

            case ControlType.DetailArea:
                col.ControlType = ControlType.DetailArea;
                break;

            case ControlType.JsonForm:
                col.ControlType = ControlType.JsonForm;
                break;

            case ControlType.XFormCol:
                col.ControlType = ControlType.XFormColDetail;
                break;

            case ControlType.AllImageShow:
                col.ControlType = ControlType.AllImageShow;
                break;

            case ControlType.ImageDetail:
                col.ControlType = ControlType.ImageDetail;
                break;

            default:

                col.ControlType = ControlType.Detail;
                break;
            }

            //if (column.ControlType != ControlType.Hidden)
            //    col.ControlType = ControlType.Detail;
            //if (column.ControlType == ControlType.Date)
            //    col.ControlType = ControlType.DetailDate;
            //if (column.ControlType == ControlType.SingleFileUpload)
            //    col.ControlType = ControlType.DownLink;
            //if (column.ControlType == ControlType.SingleImageUpload || column.ControlType == ControlType.MultiImageUpload)
            //    col.ControlType = ControlType.ImageDetail;
            ////case ControlType.Editor:
            ////     col.ControlType = ControlType.EditorDetail;
            ////     break;
            //if (column.ControlType == ControlType.Editor)
            //    col.ControlType = ControlType.EditorDetail;
            return(col);
        }
Exemplo n.º 7
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);
        }
Exemplo n.º 8
0
        protected FormConfigView CreateFormView(DataFormConfig dataForm, FormConfig formConfig)
        {
            FormConfigView formView = new FormConfigView();

            formView.FormType           = formConfig.FormType;
            formView.ShowKind           = formConfig.ShowKind;
            formView.AfterInitFunName   = formConfig.AfterInitFunName;
            formView.VerticalTab        = formConfig.VerticalTab; //布局方式
            formView.HasBatchInsert     = false;
            formView.HasPager           = false;
            formView.HasSearch          = false;
            formView.ParentFieldName    = formConfig.ParentFieldName;
            formView.TextFieldName      = formConfig.TextFieldName;
            formView.IsParentFieldName  = formConfig.IsParentFieldName;
            formView.IsSafeMode         = formConfig.IsSafeMode;
            formView.HasReview          = formConfig.HasReview;
            formView.Calendar           = formConfig.Calendar;
            formView.ExpandDetailPlug   = formConfig.ExpandDetailPlug;
            formView.RowTpl             = formConfig.RowTpl;
            formView.ContentTpl         = formConfig.ContentTpl;
            formView.DisableColumnGroup = formConfig.Group.IsDisabled.ToLower() == "true" || formConfig.Group.IsDisabled == "1" ? true : false;
            // formView.Tpl = formConfig.Tpl;
            //var _bean = formConfig.Tpls.FirstOrDefault(a => a.PageStyle == PageStyle);
            //if (_bean != null)
            //    formView.Tpl = _bean.Item;


            formView.IsInner          = formConfig.IsInner;
            formView.HaveNoSwitchForm = formConfig.HaveNoSwitchForm;
            formView.HaveNoSortBar    = formConfig.HaveNoSortBar;
            //var NavigationList = dataForm.Columns.Where(a => a.Navigation != null);
            //if (NavigationList.Count() > 0)
            //{
            //    formView.HasNavigation = true;
            //     List<ColumnConfig> columns = NavigationList.ToList();
            //     foreach (var column in columns)
            //     {
            //         ColumnConfigView colView = new ColumnConfigView();
            //         if (column.Navigation != null && column.Navigation.IsAvailable == true && (column.ControlType == ControlType.CheckBox || column.ControlType == ControlType.Combo || column.ControlType == ControlType.Radio || column.ControlType == ControlType.TreeSingleSelector || column.ControlType == ControlType.TreeMultiSelector))
            //         {
            //             if (column.ControlType == ControlType.CheckBox)
            //             {
            //                 colView.ControlType = ControlType.CheckBoxNavi;
            //             }
            //             else if (column.ControlType == ControlType.Radio || column.ControlType == ControlType.Combo)
            //             {
            //                 colView.ControlType = ControlType.RadioNavi;
            //             }
            //             else if (column.ControlType == ControlType.TreeSingleSelector)
            //             {
            //                 colView.ControlType = ControlType.TreeSingleNavi;
            //             }
            //             else
            //             {
            //                 colView.ControlType = ControlType.TreeMultiNavi;
            //             }
            //         }
            //     }
            //}
            formView.TableName = formConfig.TableName;
            //if (formView.TableName.IsEmpty())
            //    formView.TableName = dataForm.TableName;
            //if (formView.TableName.IsEmpty())
            //    formView.TableName = formConfig.DataPlug.PlugInPageGet<IListDataTable>().RegName;

            formView.Title = formConfig.Title;
            //if (formView.Title.IsEmpty())
            //    formView.Title = dataForm.Title;
            //if (formView.Title.IsEmpty())
            //    formView.Title = ModuleConfig.Title;
            if (ModuleConfig.Mode == ModuleMode.None)
            {
                formView.Title = formView.Title;
            }
            else
            {
                switch (PageStyle)
                {
                case PageStyle.List:
                    formView.Title = formView.Title + "列表";
                    break;

                case PageStyle.Detail:
                    formView.Title = formView.Title + "明细";
                    break;

                case PageStyle.Update:
                    formView.Title = formView.Title + "修改";
                    break;

                case PageStyle.Insert:
                    formView.Title = formView.Title + "新增";
                    break;
                }
            }

            formView.Name = formConfig.Name;
            //if (formView.Name.IsEmpty())
            //    formView.Name = dataForm.Name;
            //if (formView.Name.IsEmpty())
            //    formView.Name = formView.TableName;
            //string msg = string.Format("数据源为{0}插件的form的名称不能为空", formConfig.DataPlug);
            //Debug.AssertNotNullOrEmpty(formView.Name, msg, this);
            formView.Columns = new List <ColumnConfigView>();
            CreateColumns(formView, dataForm, formConfig);

            formView.ColumnGroups = new List <ColumnGroupConfigView>();
            CreateGroupColumns(formView, dataForm);

            formView.NavigationColumns = new List <NaviColumnConfigView>(); //可能有多个navi(目前只有一个)
            if (PageStyle == PageStyle.List)
            {
                var navigation = dataForm.Columns.FindAll(a => a.Navigation != null && a.Navigation.IsAvailable);
                foreach (var navi in navigation)
                {
                    if (navigation != null)
                    {
                        var viewColumn = formView.Columns.FirstOrDefault(a => a.Name == navi.Name);
                        var viewNavi   = CreateColumnNavigation(viewColumn, navi);
                        if (viewNavi != null)
                        {
                            formView.NavigationColumns.Add(viewNavi);
                        }
                    }
                }
            }
            return(formView);
        }