/// <summary> /// 已提供完整查询参数值,加载报表 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnQuery(object sender, RptInfo e) { if (_view.Info != e) { if (e.Root.ViewSetting.ShowMenu) { if (e.ViewMenu == null) { var menu = new Menu { Items = { new Mi { ID = "导出", Icon = Icons.导出, Cmd = _view.CmdExport }, new Mi { ID = "打印", Icon = Icons.打印, Cmd = _view.CmdPrint }, } }; e.ViewMenu = menu; e.ScriptObj?.InitMenu(menu); } _tabCenter.Menu = e.ViewMenu; } else if (_tabCenter.Menu != null) { _tabCenter.ClearValue(Tab.MenuProperty); } } _view.LoadReport(e); }
public RptRootInst(RptInfo p_info) { Info = p_info; Pages = new List <RptPage>(); Rows = new List <PageDefine>() { new PageDefine() }; Cols = new List <PageDefine>() { new PageDefine() }; }
void OnPreview(object sender, RoutedEventArgs e) { // 比较窗口类型和初始参数,关闭旧窗口 var info = new RptInfo { Name = _info.Name, Root = _info.Root }; Win win; if (!Kit.IsPhoneUI && (win = Desktop.Inst.ActiveWin(typeof(RptViewWin), info)) != null) { win.Close(); } AtRpt.Show(info); }
async void OnSelectedTabChanged(object sender, SelectedChangedEventArgs e) { Tab tab = e.SelectItem as Tab; if (tab.Content != null) { return; } RptInfo info = tab.Tag as RptInfo; if (!await info.Init()) { return; } // 加载查询面板内容,脚本优先 IRptSearchForm searchForm = null; if (info.ScriptObj != null) { searchForm = info.ScriptObj.GetSearchForm(info); } if (searchForm == null && info.Root.Params.ExistXaml) { searchForm = new RptSearchForm(info); } if (searchForm != null) { tab.Content = searchForm; tab.Menu = searchForm.Menu; searchForm.Query += OnQuery; } // 初次加载自动执行查询 if (info.Root.ViewSetting.AutoQuery || searchForm == null) { _view.LoadReport(info); } }
public RptRender(RptInfo p_info) { _info = p_info; }
public override IRptSearchForm GetSearchForm(RptInfo p_info) { return(new CustomSearchForm(p_info)); }
public RptSearchForm(RptInfo p_info) { InitializeComponent(); _info = p_info; _info.Root.Params.LoadFvCells(_fv); }
public RptViewWin(RptInfo p_info) { // 确保RptInfo已初始化,因含异步! IRptSearchForm searchForm = null; if (p_info.ScriptObj != null) { p_info.ScriptObj.View = _view; searchForm = p_info.ScriptObj.GetSearchForm(p_info); } Main wc = new Main(); var tabs = new Tabs(); var tab = new Tab { Title = "内容" }; tab.Content = _view; tabs.Items.Add(tab); wc.Items.Add(tabs); Items.Add(wc); var setting = p_info.Root.ViewSetting; if (setting.ShowMenu) { var menu = new Menu(); if (!setting.ShowSearchForm && (searchForm != null || p_info.Root.Params.ExistXaml)) { menu.Items.Add(new Mi { ID = "查询", Icon = Icons.搜索, Cmd = _view.CmdSearch }); } menu.Items.Add(new Mi { ID = "导出", Icon = Icons.导出, Cmd = _view.CmdExport }); menu.Items.Add(new Mi { ID = "打印", Icon = Icons.打印, Cmd = _view.CmdPrint }); p_info.ScriptObj?.InitMenu(menu); tab.Menu = menu; } if (setting.ShowSearchForm && (searchForm != null || p_info.Root.Params.ExistXaml)) { Pane wi = new Pane(); tabs = new Tabs(); tab = new Tab { Title = "查询" }; // 加载查询面板内容 if (searchForm == null) { searchForm = new RptSearchForm(p_info); } tab.Menu = searchForm.Menu; searchForm.Query += (s, e) => _view.LoadReport(e); tab.Content = searchForm; tabs.Items.Add(tab); wi.Items.Add(tabs); Items.Add(wi); } // 初次加载自动执行查询 if (setting.AutoQuery || p_info.Root.Params.Data.Count == 0) { _view.LoadReport(p_info); } }
public CustomSearchForm(RptInfo p_info) { InitializeComponent(); _info = p_info; _fv.Data = _info.BuildParamsRow(); }