示例#1
0
        private void OnOpen(object sender, EventArgs e)
        {
            if (!ConfirmSaveChanges(this))
            {
                return;
            }

            openDialog.FileName = string.Empty;

            int selectedIndex;

            if (openDialog.ShowDialog(this, new[] { Resources.OpenAsLibrary }, out selectedIndex) == DialogResult.OK)
            {
                var asLibrary = selectedIndex == 0;
                if (!asLibrary)
                {
                    string reportName = TryLoadReport(openDialog.FileName);
                    _isDirty          = false;
                    _exportReportType = DetermineReportType();
                    SetReportName(reportName);
                }
                else
                {
                    var host = ((IComponent)arDesigner.Report).Site.GetService(typeof(IDesignerHost)) as IDesignerHost;
                    var reportsLibraryService = host != null?host.GetService(typeof(IReportsLibraryService)) as IReportsLibraryService : null;

                    if (reportsLibraryService != null)
                    {
                        reportsLibraryService.LoadReport(openDialog.FileName);
                    }
                }
            }
        }
示例#2
0
 void DesignerForm_Load(object sender, EventArgs e)
 {
     _exportReportType = DefaultReportType;
     string[] commandLineArgs = Environment.GetCommandLineArgs();
     if (commandLineArgs.Length > 1)
     {
         string reportName = TryLoadReport(commandLineArgs[1]);
         _isDirty          = false;
         _exportReportType = DetermineReportType();
         SetReportName(reportName);
     }
 }
示例#3
0
        private void OnDesignerLayoutChanged(object sender, LayoutChangedArgs e)
        {
            // load or new report events
            if (e.Type == LayoutChangeType.ReportLoad || e.Type == LayoutChangeType.ReportClear)
            {
                arToolbox.Reorder(arDesigner);
                // reorder toolbox
                arToolbox.EnsureCategories();                 //check Data tools availability
                arToolbox.Refresh();

                RefreshLayersTab();
                RefreshGroupEditor();
            }
            //only new report event
            if (e.Type == LayoutChangeType.ReportClear)
            {
                _isDirty          = false;
                _exportReportType = DetermineReportType();
                // set report name to "untitled"
                SetReportName(null);
            }
            // only load report event
            if (e.Type == LayoutChangeType.ReportLoad)
            {
                if (!string.IsNullOrEmpty(_reportName))
                {
                    // FPL/CPL conversion trigger this event
                    // so we should notify user, that report was updated
                    _isDirty = _exportReportType != DetermineReportType();

                    // if page report was converted to master - update its extension
                    if (GetIsMaster())
                    {
                        var extansion = Path.GetExtension(_reportName);
                        if (!string.IsNullOrEmpty(extansion) &&
                            (extansion.ToLowerInvariant() == ".rdl" ||
                             extansion.ToLowerInvariant() == ".rdlx"))
                        {
                            _reportName = $"{Path.GetFileNameWithoutExtension(_reportName)}.rdlx-master";

                            // if file with this name already exists - set dirty flag
                            _isDirty = File.Exists(_reportName);
                        }
                    }
                }

                _exportReportType = DetermineReportType();
            }

            BeginInvoke(new MethodInvoker(UpdateReportName));
        }
示例#4
0
        void DesignerForm_DragDrop(object sender, DragEventArgs e)
        {
            var files = (string[])e.Data.GetData(DataFormats.FileDrop);

            if (files.Length <= 0)
            {
                return;
            }
            if (!ConfirmSaveChanges(this))
            {
                return;
            }
            string reportName = TryLoadReport(files[0]);

            _isDirty          = false;
            _exportReportType = DetermineReportType();
            SetReportName(reportName);
        }