/// <summary> /// 视图启动入口 /// </summary> /// <param name="p_title">标题</param> /// <param name="p_icon">图标</param> /// <param name="p_params">启动参数</param> public void Run(string p_title, Icons p_icon, object p_params) { if (p_params == null || string.IsNullOrEmpty(p_params.ToString())) { return; } string param = p_params.ToString(); Icons icon = p_icon == Icons.None ? Icons.折线图 : p_icon; string title = string.IsNullOrEmpty(p_title) ? param : p_title; var ls = param.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (ls.Length == 1) { AtRpt.Show(new RptInfo { Name = ls[0] }, title, icon); } else { List <RptInfo> infos = new List <RptInfo>(); foreach (var name in ls) { infos.Add(new RptInfo { Name = name }); } AtRpt.Show(infos, title, icon); } }
void OnScript(object sender, RoutedEventArgs e) { string name = ((Button)sender).Content.ToString(); switch (_fv.Row.Str("type")) { case "使用RptView预览": _rptView.LoadReport(new MyRptInfo { Name = name, Params = new Dict { { "parentid", "" }, { "parentname", "根菜单" } } }); break; case "打开报表预览窗口": AtRpt.Show(new MyRptInfo { Name = name, Params = new Dict { { "parentid", "" }, { "parentname", "根菜单" } } }); break; case "打开模板编辑窗口": _ = AtRpt.ShowDesign(new MyRptDesignInfo { Name = name }); break; } }
void OnBtnClick(object sender, RoutedEventArgs e) { string name = ((Button)sender).Content.ToString(); switch (_fv.Row.Str("type")) { case "使用RptView预览": _rptView.LoadReport(new MyRptInfo { Name = name }); break; case "打开报表预览窗口": AtRpt.Show(new MyRptInfo { Name = name }); break; case "打开模板编辑窗口": _ = AtRpt.ShowDesign(new MyRptDesignInfo { Name = name }); break; } }
void OnExport(object sender, RoutedEventArgs e) { if (_tbXaml == null) { _tbXaml = new TextBox { AcceptsReturn = true, BorderThickness = new Thickness(0) }; ScrollViewer.SetHorizontalScrollBarVisibility(_tbXaml, ScrollBarVisibility.Auto); ScrollViewer.SetVerticalScrollBarVisibility(_tbXaml, ScrollBarVisibility.Auto); } _tbXaml.Text = AtRpt.SerializeTemplate(_info.Root); LoadMain(_tbXaml); }
void OnRptGroup(object sender, RoutedEventArgs e) { List <RptInfo> ls = new List <RptInfo> { new MyRptInfo { Name = "默认查询面板" }, new MyRptInfo { Name = "自定义查询面板" } }; AtRpt.Show(ls, "报表组"); }
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 OnQuerySql(object sender, Mi e) { Fv fv = _tab.Content as Fv; if (fv == null) { Kit.Warn("请先刷新参数,填写参数值后再执行Sql!"); return; } Row row = _fv.Row; if (row == null || row.Str("srv") == "" || row.Str("sql") == "") { Kit.Warn("无法执行Sql,服务名称和Sql不可为空!"); return; } _lvCols.Data = await AtRpt.Query(row.Str("srv"), row.Str("sql"), fv.Row.ToDict()); NaviTo("查询结果"); }
void EditTemplate(Rpt p_rpt) { _ = AtRpt.ShowDesign(new AppRptDesignInfo(p_rpt)); }