示例#1
0
文件: ReportView.cs 项目: Daoting/dt
        /// <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);
            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
        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;
            }
        }
示例#4
0
        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);
        }
示例#5
0
        void OnRptGroup(object sender, RoutedEventArgs e)
        {
            List <RptInfo> ls = new List <RptInfo>
            {
                new MyRptInfo {
                    Name = "默认查询面板"
                },
                new MyRptInfo {
                    Name = "自定义查询面板"
                }
            };

            AtRpt.Show(ls, "报表组");
        }
示例#6
0
        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);
        }
示例#7
0
        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("查询结果");
        }
示例#8
0
 void EditTemplate(Rpt p_rpt)
 {
     _ = AtRpt.ShowDesign(new AppRptDesignInfo(p_rpt));
 }