private void button1_Click(object sender, EventArgs e) { DateTime d_rq1 = dateTimePicker1.Value.Date; DateTime d_rq2 = dateTimePicker1.Value.AddDays(1).Date; var dataList = SqlUtil.Inst.Orders.Where(a => a.date >= d_rq1 && a.date < d_rq2).ToList().Select(a => new { no = a.no, date = a.date.ToString("yyyy年MM月dd日"), zje = a.zje.ToString("0.00"), yhje = a.yhje.ToString("0.00"), ssje = (a.zje - a.yhje).ToString("0.00"), zffs = a.zffs }).ToList(); Assembly assembly = Assembly.GetExecutingAssembly(); //获取指定的资源 using (Stream stream = assembly.GetManifestResourceStream("DishSysManager.daily_mx.frx")) { if (stream != null) //没有找到,GetManifestResourceStream会返回null { report.Clear(); report.Load(stream); report.RegisterData(dataList, "mx"); report.Preview = this.previewControl1; report.Prepare(); report.ShowPrepared(); } } }
public FormReportCP(string ord_no) { InitializeComponent(); var order = SqlUtil.Inst.Orders.FirstOrDefault(a => a.no == ord_no); if (order == null) { return; } var dataList = SqlUtil.Inst.Details.Where(a => a.ord_no == order.no).ToList(); Assembly assembly = Assembly.GetExecutingAssembly(); List <Order> dataList2 = new List <Order>(); dataList2.Add(order); var hz = dataList2.Select(a => new { date = a.date.ToString("yyyy-MM-dd HH:mm"), zje = a.zje.ToString("0.00"), yhje = a.yhje.ToString("0.00"), sfje = (a.zje - a.yhje).ToString("0.00"), a.desk, ord_no = a.no }).ToList(); //获取指定的资源 using (Stream stream = assembly.GetManifestResourceStream("DishSysManager.daily_cp.frx")) { if (stream != null) //没有找到,GetManifestResourceStream会返回null { report.Clear(); report.Load(stream); report.RegisterData(dataList, "mx"); report.RegisterData(hz, "hz"); report.Prepare(); report.PrintSettings.ShowDialog = false; report.Print(); } } autoClose = true; }
private void button2_Click(object sender, System.EventArgs e) { var rpt = new FastReport.Report(); var data = new List <ARAPDataEntity>(); rpt.Report.Load(@"D:\WorkingDir\LBOM\LBOM\Report\ARAccount.frx"); rpt.Report.Dictionary.RegisterBusinessObject(data, "DataItem", 1, true); rpt.Save(@"D:\WorkingDir\LBOM\LBOM\Report\ARAP_RawData.frx"); rpt.Clear(); rpt.Dispose(); }
protected static int PrintReport(FastReport.Report report, string printerType) { //如果模板设置了指定类型的打印机,则设置打印机名称 //string printerName = GetPrinterName(printerType); //if (string.IsNullOrEmpty(printerName) == false) //{ // report.PrintSettings.Printer = printerName; //} report.PrintSettings.ShowDialog = false; report.Print(); report.Clear(); report.Dispose(); report = null; return(1); }
private void BtnDrucken_Click(object sender, RoutedEventArgs e) { var vorgang = Convert.ToInt32((sender as Button).Tag); // 1 - Anzeigen, 2 - Drucken, 3 - Design, 4 - Neuer Report, 5 - Report Exportieren, 6 - Löschen if (vorgang != 4) { switch (_Auswahl) { case EnumFilterAuswertung.Anmeldung: _AktAuswertung = (tabAuswertung)_ListeReporteAnmeldung.Current; break; case EnumFilterAuswertung.Bauteil: _AktAuswertung = (tabAuswertung)_ListeReporteBauteil.Current; break; case EnumFilterAuswertung.Reparatur: _AktAuswertung = (tabAuswertung)_ListeReporteReparatur.Current; break; } if (_AktAuswertung == null) { MessageBox.Show("Es wurde kein Report ausgewählt.", "Fehler !", MessageBoxButton.OK, MessageBoxImage.Information); return; } switch (vorgang) { case 5: // Exportieren SaveFileDialog dia = new SaveFileDialog() { Filter = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*", FilterIndex = 1 }; if (dia.ShowDialog() ?? false) { _Report.Save(dia.FileName); MemoryStream mem; mem = new MemoryStream(_AktAuswertung.Report); using (Stream f = File.Create(dia.FileName)) { mem.CopyTo(f); } } return; case 6: // Report löschen var mb = MessageBox.Show($"Report {_AktAuswertung.ReportName} löschen ?", "Löschabfrage", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None); if (mb == MessageBoxResult.Yes) { switch (_Auswahl) { case EnumFilterAuswertung.Anmeldung: _ListeReporteAnmeldung.Delete(_AktAuswertung); break; case EnumFilterAuswertung.Bauteil: _ListeReporteBauteil.Delete(_AktAuswertung); break; case EnumFilterAuswertung.Reparatur: _ListeReporteReparatur.Delete(_AktAuswertung); break; } } return; } _Report.Clear(); if (_AktAuswertung.Report == null) { vorgang = 3; } else { var mem = new MemoryStream(_AktAuswertung.Report); _Report.Load(mem); } } switch (_Auswahl) { case JgMaschineData.EnumFilterAuswertung.Anmeldung: if (tcAnmeldung.SelectedIndex == 0) { _Report.RegisterData(_ListeAnmeldungen.Daten, "Daten"); } else { _Report.RegisterData(_ListeAnmeldungAuswahl.Daten, "Daten"); _Report.SetParameterValue("DatumVon", _DzAnmeldungVon.AnzeigeDatumZeit); _Report.SetParameterValue("DatumBis", _DzAnmeldungBis.AnzeigeDatumZeit); } _Report.SetParameterValue("IstAktuell", tcAnmeldung.SelectedIndex == 0); break; case EnumFilterAuswertung.Bauteil: if (_Maschine == null) { MessageBox.Show("Wählen Sie eine Maschine aus."); return; } _Report.RegisterData(_ListeBauteilAuswahl.Daten, "Daten"); _Report.SetParameterValue("MaschinenName", _Maschine.MaschinenName); _Report.SetParameterValue("DatumVon", _DzBauteilVon.AnzeigeDatumZeit); _Report.SetParameterValue("DatumBis", _DzBauteilBis.AnzeigeDatumZeit); break; case EnumFilterAuswertung.Reparatur: if (tcReparatur.SelectedIndex == 0) { _Report.RegisterData(_ListeReparaturen.Daten, "Daten"); } else { _Report.RegisterData(_ListeReparaturAuswahl.Daten, "Daten"); _Report.SetParameterValue("DatumVon", _DzReparaturVon.AnzeigeDatumZeit); _Report.SetParameterValue("DatumBis", _DzReparaturBis.AnzeigeDatumZeit); } _Report.SetParameterValue("IstAktuell", tcReparatur.SelectedIndex == 0); break; default: break; } if (vorgang == 4) // Neuer Report { var repName = ""; var formNeu = new Fenster.FormNeuerReport(); if (!formNeu.ShowDialog() ?? false) { return; } repName = formNeu.ReportName; string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name; _AktAuswertung = new tabAuswertung() { Id = Guid.NewGuid(), FilterAuswertung = _Auswahl, ReportName = repName, ErstelltDatum = DateTime.Now, ErstelltName = username, GeaendertDatum = DateTime.Now, GeaendertName = username }; switch (_Auswahl) { case EnumFilterAuswertung.Anmeldung: _ListeReporteAnmeldung.Add(_AktAuswertung); break; case EnumFilterAuswertung.Bauteil: _ListeReporteBauteil.Add(_AktAuswertung); break; case EnumFilterAuswertung.Reparatur: _ListeReporteReparatur.Add(_AktAuswertung); break; } _Report.Design(); } else { switch (vorgang) { case 1: _Report.Show(); break; case 2: _Report.Print(); break; case 3: _Report.Design(); break; } } }
private void InitCommands() { CommandBindings.Add(new CommandBinding(MyCommands.ReportNeu, (sen, erg) => { Fenster.FormAuswertungBearbeiten form = new Fenster.FormAuswertungBearbeiten(null); if (form.ShowDialog() ?? false) { string username = Helper.Benutzer; form.Auswertung.FilterAuswertung = JgMaschineData.EnumFilterAuswertung.Allgemein; form.Auswertung.ErstelltDatum = DateTime.Now; form.Auswertung.ErstelltName = username; form.Auswertung.GeaendertName = form.Auswertung.ErstelltName; form.Auswertung.GeaendertDatum = form.Auswertung.ErstelltDatum; _Auswertungen.Add(form.Auswertung); _Report.Clear(); _Report.SetParameterValue("SqlVerbindung", Properties.Settings.Default.DatenbankVerbindungsString); _Report.Design(); } })); CommandBindings.Add(new CommandBinding(MyCommands.ReportAnzeigen, ExceReportAnzeigenDruck, CanExecReportVorhandenAndNull)); CommandBindings.Add(new CommandBinding(MyCommands.ReportDrucken, ExceReportAnzeigenDruck, CanExecReportVorhandenAndNull)); CommandBindings.Add(new CommandBinding(MyCommands.ReportBearbeiten, ExceReportAnzeigenDruck, CanExecReportVorhanden)); CommandBindings.Add(new CommandBinding(MyCommands.ReportAusDateiLaden, (sen, erg) => { Microsoft.Win32.OpenFileDialog dia = new Microsoft.Win32.OpenFileDialog(); dia.Filter = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*"; dia.FilterIndex = 1; if (dia.ShowDialog() ?? false) { MemoryStream mem = new MemoryStream(); using (Stream f = File.OpenRead(dia.FileName)) { f.CopyTo(mem); } _Auswertungen.Current.Report = mem.ToArray(); _Auswertungen.DsSave(); _Auswertungen.Refresh(); } }, CanExecReportVorhanden)); CommandBindings.Add(new CommandBinding(MyCommands.ReportOptionen, (sen, erg) => { Fenster.FormAuswertungBearbeiten form = new Fenster.FormAuswertungBearbeiten(_Auswertungen.Current); if (form.ShowDialog() ?? false) { string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name; form.Auswertung.GeaendertName = username; form.Auswertung.GeaendertDatum = form.Auswertung.ErstelltDatum; _Auswertungen.DsSave(); } else { _Auswertungen.Reload(); } }, CanExecReportVorhanden)); CommandBindings.Add(new CommandBinding(MyCommands.ReportInDateiSpeichern, (sen, erg) => { Microsoft.Win32.SaveFileDialog dia = new Microsoft.Win32.SaveFileDialog(); dia.Filter = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*"; dia.FilterIndex = 1; if (dia.ShowDialog() ?? false) { MemoryStream mem; mem = new MemoryStream(_Auswertungen.Current.Report); using (Stream f = File.Create(dia.FileName)) { mem.CopyTo(f); } } }, CanExecReportVorhandenAndNull)); }
protected override void OnHandleDestroyed(EventArgs e) { _report.Clear(); _report.Dispose(); base.OnHandleDestroyed(e); }
private void BtnDrucken_Click(object sender, RoutedEventArgs e) { _Report.Clear(); var vorgang = Convert.ToInt32((sender as Button).Tag); // 1 - Anzeigen, 2 - Drucken, 3 - Design, 4 - Neuer Report, 5 - Report Exportieren, 6 - Löschen var auswahl = EnumFilterAuswertung.Arbeitszeit; if (tcArbeitszeit.SelectedIndex == 1) { auswahl = EnumFilterAuswertung.ArbeitszeitAuswertung; } if (vorgang != 4) { switch (auswahl) { case EnumFilterAuswertung.Arbeitszeit: _AktuellerReport = _ListeReporteArbeitszeiten.Current; break; case EnumFilterAuswertung.ArbeitszeitAuswertung: _AktuellerReport = _ListeReporteAuswertung.Current; break; } if (_AktuellerReport == null) { MessageBox.Show("Es wurde kein Report ausgewählt.", "Fehler !", MessageBoxButton.OK, MessageBoxImage.Information); return; } switch (vorgang) { case 0: // Reportname ändern var formNeu = new Fenster.FormReportName(_AktuellerReport.ReportName); if (formNeu.ShowDialog() ?? false) { _AktuellerReport.AnzeigeReportname = formNeu.ReportName; _ListeReporteArbeitszeiten.DsSave(); } return; case 5: // Exportieren SaveFileDialog dia = new SaveFileDialog() { FileName = _AktuellerReport.ReportName, Filter = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*", FilterIndex = 1 }; if (dia.ShowDialog() ?? false) { _Report.Save(dia.FileName); MemoryStream mem; mem = new MemoryStream(_AktuellerReport.Report); using (Stream f = File.Create(dia.FileName)) { mem.CopyTo(f); } } return; case 6: // Report löschen var mb = MessageBox.Show($"Report {_AktuellerReport.ReportName} löschen ?", "Löschabfrage", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None); if (mb == MessageBoxResult.Yes) { _AktuellerReport.DatenAbgleich.Geloescht = true; switch (auswahl) { case EnumFilterAuswertung.Arbeitszeit: _ListeReporteArbeitszeiten.Remove(_AktuellerReport); break; case EnumFilterAuswertung.ArbeitszeitAuswertung: _ListeReporteAuswertung.Remove(_AktuellerReport); break; } } return; } if (_AktuellerReport.Report == null) { vorgang = 3; } else { var mem = new MemoryStream(_AktuellerReport.Report); _Report.Load(mem); } } switch (auswahl) { case EnumFilterAuswertung.Arbeitszeit: var bediener = _ListeArbeitszeitenAuswahl.Daten.Select(s => s.eBediener).Distinct().ToList(); _Report.RegisterData(bediener.Select(s => new { s.Id, s.Name }).ToList(), "Bediener"); var dat = _DzArbeitszeitBis.AnzeigeDatumZeit; var db = _ListeArbeitszeitenAuswahl.Db; var sollStunden = JgZeit.StringInZeit(db.tabSollStundenSet.FirstOrDefault(w => (w.Jahr == dat.Year) && (w.Monat == dat.Month) && !w.DatenAbgleich.Geloescht).SollStunden, TimeSpan.Zero); var lFeiertage = db.tabFeiertageSet.Where(w => (w.Datum.Year == dat.Year) && (w.Datum.Month == dat.Month) && !w.DatenAbgleich.Geloescht).ToList(); var lPausen = db.tabPausenzeitSet.Where(w => !w.DatenAbgleich.Geloescht).ToList(); var listeAuswertungen = new List <ArbeitszeitBediener>(); foreach (var bedAusw in bediener) { var ds = new ArbeitszeitBediener(_Erstellung.Db, _AzRunden); ds.BedienerBerechnen(bedAusw, (short)dat.Year, (byte)dat.Month, sollStunden, lFeiertage, lPausen); listeAuswertungen.Add(ds); } _Report.RegisterData(listeAuswertungen, "Auswertungen"); _Report.RegisterData(_ListeArbeitszeitenAuswahl.Daten, "Stechzeiten"); _Report.SetParameterValue("Zeitraum.DatumVon", _DzArbeitszeitVon.AnzeigeDatumZeit); _Report.SetParameterValue("Zeitraum.DatumBis", _DzArbeitszeitBis.AnzeigeDatumZeit); break; case EnumFilterAuswertung.ArbeitszeitAuswertung: var aktStandort = _Erstellung.AktuellerBediener.eStandort; var bedienerImStandort = _Erstellung.ListeBediener.Daten.Where(w => w.fStandort == aktStandort.Id).ToList(); var listeAuswertung = new List <ArbeitszeitBediener>(); foreach (var bedAusw in bedienerImStandort) { var ds = new ArbeitszeitBediener(_Erstellung.Db, _AzRunden); ds.BedienerBerechnen(bedAusw, _Erstellung.Jahr, _Erstellung.Monat, _Erstellung.SollStundenMonat, _Erstellung.ListeFeiertageMonat, _Erstellung.ListePausen.Daten); listeAuswertung.Add(ds); } _Report.RegisterData(bedienerImStandort.Select(s => new { s.Id, s.Name }).ToList(), "Bediener"); _Report.RegisterData(listeAuswertung, "ListeAuswertung"); _Report.SetParameterValue("Auswertung.Monat", (JgZeitHelper.JgZeit.Monate)_Erstellung.Monat); _Report.SetParameterValue("Auswertung.Jahr", _Erstellung.Jahr); break; default: break; } if (vorgang == 4) // Neuer Report { var repName = ""; var formNeu = new Fenster.FormReportName(); if (!formNeu.ShowDialog() ?? false) { return; } repName = formNeu.ReportName; string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name; _AktuellerReport = new tabAuswertung() { Id = Guid.NewGuid(), FilterAuswertung = auswahl, ReportName = repName, ErstelltDatum = DateTime.Now, ErstelltName = username, GeaendertDatum = DateTime.Now, GeaendertName = username, }; switch (auswahl) { case EnumFilterAuswertung.Arbeitszeit: _ListeReporteArbeitszeiten.Add(_AktuellerReport); break; case EnumFilterAuswertung.ArbeitszeitAuswertung: _ListeReporteAuswertung.Add(_AktuellerReport); break; } _Report.Design(); } else { switch (vorgang) { case 1: try { _Report.Show(); } catch (Exception ex) { Helper.InfoBox("Fehler beim Aufruf der Auswertung", ex); } break; case 2: try { _Report.Print(); } catch (Exception ex) { Helper.InfoBox("Fehler beim Drucken der Auswertung", ex); } break; case 3: try { _Report.Design(); } catch { } break; } } }