示例#1
0
 /// <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);
 }
示例#2
0
 public RptRootInst(RptInfo p_info)
 {
     Info  = p_info;
     Pages = new List <RptPage>();
     Rows  = new List <PageDefine>()
     {
         new PageDefine()
     };
     Cols = new List <PageDefine>()
     {
         new PageDefine()
     };
 }
示例#3
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);
        }
示例#4
0
        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);
            }
        }
示例#5
0
文件: RptRender.cs 项目: Daoting/dt
 public RptRender(RptInfo p_info)
 {
     _info = p_info;
 }
示例#6
0
 public override IRptSearchForm GetSearchForm(RptInfo p_info)
 {
     return(new CustomSearchForm(p_info));
 }
示例#7
0
 public RptSearchForm(RptInfo p_info)
 {
     InitializeComponent();
     _info = p_info;
     _info.Root.Params.LoadFvCells(_fv);
 }
示例#8
0
        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);
            }
        }
示例#9
0
 public CustomSearchForm(RptInfo p_info)
 {
     InitializeComponent();
     _info    = p_info;
     _fv.Data = _info.BuildParamsRow();
 }