public void Initialize(AtawPageConfigView pageView, AtawFormConfigView formView, ColumnConfig columnConfig, PageStyle style) { this.PageView = pageView; this.FormView = formView; this.Config = columnConfig; this.PageStyle = style; }
protected virtual void CreateGroupColumns(AtawFormConfigView formView, DataFormConfig dataformConfig) { dataformConfig.ColumnGroups.ForEach(group => { var columnGroup = new AtawColumnGroupConfigView(); columnGroup.ShowType = group.ShowType == 0 ? "ColShowType".AppKv <int>(4) : group.ShowType; columnGroup.Name = group.Name; columnGroup.DisplayName = group.DisplayName; columnGroup.Columns = new List <AtawColumnConfigView>(); 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 AtawFormConfigView CreateBatchInsertForm(AtawFormConfigView formView) { AtawFormConfigView insertFormView = new AtawFormConfigView(); insertFormView.FormType = FormType.Normal; insertFormView.ShowKind = ShowKind.Tile; insertFormView.AfterInitFunName = formView.AfterInitFunName; insertFormView.TableName = formView.TableName; insertFormView.PrimaryKey = formView.PrimaryKey; insertFormView.Title = formView.Title; insertFormView.Name = formView.Name + "_INSERT"; insertFormView.Columns = formView.Columns; return(insertFormView); }
private AtawFormConfigView CreateSearchFormView(AtawFormConfigView formView, List <ColumnConfig> columns) { AtawFormConfigView searchFormView = new AtawFormConfigView(); 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 <AtawColumnConfigView>(); foreach (var column in columns) { CreateSearchColumn(searchFormView, column); } return(searchFormView); }
private AtawFormConfigView CreateBatchInsertForm(AtawFormConfigView formView) { PageStyle = PageStyle.Insert; AtawFormConfigView insertFormView = new AtawFormConfigView(); insertFormView.FormType = FormType.Normal; insertFormView.ShowKind = ShowKind.Tile; insertFormView.TableName = formView.TableName; insertFormView.PrimaryKey = formView.PrimaryKey; insertFormView.Title = formView.Title.Substring(0, formView.Title.Length - 2) + "新增"; insertFormView.Name = formView.Name + "_INSERT"; insertFormView.Columns = new List <AtawColumnConfigView>(); //Grid的批量新增,新增字段要与修改字段保存一致, 其他类型的表单可以不一致---------------------------重要的约定 if (FormConfig.FormType == FormType.Grid) { formView.Columns.ForEach(a => { var column = DataFormConfig.Columns.FirstOrDefault(b => b.Name == a.Name); //Grid支持批量新增时,若字段配置新增页面不显示,那新增的时候该字段的控件类型应为Detail if ((column.ShowPage & PageStyle.Insert) != PageStyle.Insert) { var col = CreateColumn(insertFormView, column); col.ControlType = ControlType.Detail; insertFormView.Columns.Add(col); } else { insertFormView.Columns.Add(CreateColumn(insertFormView, column)); } }); } else if (FormConfig.FormType == FormType.Normal || FormConfig.FormType == FormType.Album) { DataFormConfig.Columns.ForEach(a => { if ((a.ShowPage & PageStyle.Insert) == PageStyle.Insert) { insertFormView.Columns.Add(CreateColumn(insertFormView, a)); } }); } return(insertFormView); }
public AtawPageViewModel Create() { result = new AtawPageViewModel(); //数据载入完毕 result.Data = new DataSet(); //result.Data.Tables.Add(DataSourceRegName.PlugIn<DataTable>()); // result.Data.Aggregate(result.Data); var listDataTable = DataSourceRegName.CodePlugIn <IListDataTable>(); foreach (DataFormConfig form in DataFormConfigs) { AtawFormConfigView formView = new AtawFormConfigView(); formView.FormType = FormType.Normal; formView.ShowKind = ShowKind.Tile; formView.TableName = form.TableName; formView.Title = form.Title; formView.Columns = new List <AtawColumnConfigView>(); foreach (var column in form.Columns) { AtawColumnConfigView to = new AtawColumnConfigView(); to.ControlType = column.ControlType; to.DisplayName = column.DisplayName; to.Prompt = column.Prompt; to.ValPrompt = column.ValPrompt; to.Name = column.Name; string _controlRegname = column.ControlType.ToString(); // to.Options var _optionCreator = _controlRegname.CodePlugIn <AtawOptionCreator>(); //初始化 _optionCreator.Config = column; // _optionCreator.FormData = result.Data[formView.TableName]; _optionCreator.FormView = formView; //方法调用 to.Options = _optionCreator.Create(); } } return(result); }
protected virtual void CreateColumns(AtawFormConfigView 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(AtawFormConfigView formView, ColumnConfig column) { AtawColumnConfigView colView = new AtawColumnConfigView(); 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 = controlRegname.CodePlugIn <AtawOptionCreator>(); //初始化 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 AtawColumnConfigView CreateColumn(AtawFormConfigView 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; 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); }
protected virtual AtawColumnConfigView CreateColumn(AtawFormConfigView formView, ColumnConfig column) { AtawColumnConfigView colView = new AtawColumnConfigView(); 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.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 = "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.IsHiddenCol = column.IsHiddenCol; colView.Width = column.Width; colView.LinkFormat = column.LinkFormat; colView.ChangeEventFun = column.ChangeEventFun; colView.Report = column.Report; colView.TreeConfig = column.TreeConfig; colView.ShortCutName = column.ShortCutName; colView.Amount = column.Amount; if (column.ControlType == ControlType.Custom) { AtawDebug.AssertArgumentNull(column.CustomControl, "Custom控件类型需要配置CustomControl", column); AtawDebug.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 = controlRegname.CodePlugIn <AtawOptionCreator>(); //初始化 optionCreator.Initialize(BasePageView, formView, column, PageStyle); //方法调用 colView.Options = optionCreator.Create(); return(colView); }
protected AtawFormConfigView CreateFormView(DataFormConfig dataForm, FormConfig formConfig) { AtawFormConfigView formView = new AtawFormConfigView(); 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) // { // AtawColumnConfigView colView = new AtawColumnConfigView(); // 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); //AtawDebug.AssertNotNullOrEmpty(formView.Name, msg, this); formView.Columns = new List <AtawColumnConfigView>(); CreateColumns(formView, dataForm, formConfig); formView.ColumnGroups = new List <AtawColumnGroupConfigView>(); CreateGroupColumns(formView, dataForm); formView.NavigationColumns = new List <AtawNaviColumnConfigView>(); //可能有多个navi(目前只有一个) if (PageStyle == Core.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); }