/// <summary> /// 通过指定的实体元数据,创建一个报表视图。 /// </summary> /// <param name="evm"></param> /// <returns></returns> public ReportLogicalView CreateReportView(WPFEntityViewMeta evm) { var reportPath = evm.ReportPath; if (string.IsNullOrEmpty(reportPath)) { throw new InvalidOperationException("创建报表控件失败:没有为元数据设置需要显示的报表路径。"); } //开发期暂时使用的路径,方便开发。 var relativePath = ConfigurationHelper.GetAppSettingOrDefault("Developing_ReportRootPath"); if (!string.IsNullOrEmpty(relativePath)) { reportPath = System.IO.Path.Combine(relativePath, reportPath); } var view = new ReportLogicalView(evm); view.SetControl(new ReportHost() { ReportPath = reportPath }); this.OnViewCreated(view); return(view); }
protected WindowButton PopupEditingDialog(WPFEntityViewMeta evm, Entity tmpEntity, Action <ViewDialog> windowSetter) { //弹出窗体显示详细面板 var detailView = AutoUI.ViewFactory.CreateDetailView(evm); detailView.Data = tmpEntity; //使用一个 StackPanel,保证详细面板不会自动变大 var form = detailView.Control; form.VerticalAlignment = VerticalAlignment.Top; var ctrl = new StackPanel { Children = { form } }; var result = App.Windows.ShowDialog(ctrl, w => { w.Buttons = ViewDialogButtons.YesNo; w.SizeToContent = SizeToContent.Height; w.MinHeight = 200; w.MinWidth = 400; w.Width = 400 * detailView.CalculateColumnsCount(); w.ValidateOperations += (o, e) => { var broken = tmpEntity.Validate(); if (broken.Count > 0) { App.MessageBox.Show(broken.ToString(), "属性错误".Translate()); e.Cancel = true; } }; windowSetter(w); w.Loaded += (o, e) => { var txt = w.GetVisualChild <TextBox>(); if (txt != null) { Keyboard.Focus(txt); } }; //窗口在数据改变后再关闭窗口,需要提示用户是否保存。 bool changed = false; tmpEntity.PropertyChanged += (o, e) => changed = true; w.Closing += (o, e) => { if (changed && w.DialogResult != true) { var res = App.MessageBox.Show("直接退出将不会保存数据,是否退出?".Translate(), MessageBoxButton.YesNo, MessageBoxImage.Warning); e.Cancel = res == MessageBoxResult.No; } }; this.OnWindowShowing(w); }); return(result); }
/// <summary> /// 为某实体类构建一个详细面板视图 /// </summary> /// <param name="entityViewInfo"></param> /// <returns></returns> public DetailLogicalView CreateDetailView(WPFEntityViewMeta entityViewInfo) { var view = new DetailLogicalView(entityViewInfo); this.InitDetailView(view); this.OnViewCreated(view); return(view); }
/// <summary> /// 为某实体类构建一个条件查询面板视图 /// </summary> /// <param name="entityViewInfo"></param> /// <returns></returns> public ConditionQueryLogicalView CreateConditionQueryView(WPFEntityViewMeta entityViewInfo) { var view = new ConditionQueryLogicalView(entityViewInfo); this.InitDetailView(view); view.AttachNewCriteria(); this.OnViewCreated(view); return(view); }
/// <summary> /// 构造器 /// </summary> /// <param name="entityViewMeta">这个视图对应这个业务模型类型</param> internal LogicalView(WPFEntityViewMeta entityViewMeta) { if (entityViewMeta == null) { throw new ArgumentNullException("entityViewInfo"); } this._evm = entityViewMeta; this.EnableResetVisibility = true; this._relations = new RelationViewCollection(this); this.DataLoader = new ViewDataLoader(this); }
/// <summary> /// 为某个实体类型生成逻辑视图。 /// </summary> /// <param name="entityViewInfo">实体类的视图元数据</param> /// <returns></returns> public ListLogicalView CreateListView(WPFEntityViewMeta entityViewInfo, bool isLookup = false) { var view = new ListLogicalView(entityViewInfo); if (isLookup) { view.ShowInWhere = ListShowInWhere.DropDown; } this.InitListView(view); this.OnViewCreated(view); return(view); }
private void OnRefEntityTypeChanged(DependencyPropertyChangedEventArgs e) { var value = (Type)e.NewValue; if (value == null) { this._refViewMeta = null; } else { if (this._refViewMeta.EntityType != value) { this._refViewMeta = UIModel.Views.CreateBaseView(value) as WPFEntityViewMeta; } } }
internal DetailLogicalView(WPFEntityViewMeta entityViewInfo) : base(entityViewInfo) { }
/// <summary> /// 为某一类型直接构造一个 ListLogicalView /// </summary> /// <param name="boType"></param> internal ListLogicalView(WPFEntityViewMeta entityViewInfo) : base(entityViewInfo) { }
public OperationSelectionView(WPFEntityViewMeta meta) : base(meta) { this.SetControl(new OperationSelection()); }
internal protected ReportLogicalView(WPFEntityViewMeta meta) : base(meta) { }
internal QueryLogicalView(WPFEntityViewMeta evm) : base(evm) { }
internal NavigationQueryLogicalView(WPFEntityViewMeta evm) : base(evm) { }
internal void UseDefaultMeta() { this._view = null; }
internal ConditionQueryLogicalView(WPFEntityViewMeta evm) : base(evm) { }
public CustomLogicalView(WPFEntityViewMeta meta) : base(meta) { }