//----以下是YX01数据采集---- private void GetParaDataPrint_YX02(int tt_itemtype) { //单板打印 if (PrintText != "") { FastReport.Report report = new FastReport.Report(); report.Prepare(); report.Load(Application.StartupPath + "\\LABLE\\YX_2.frx"); report.SetParameterValue("S01", PrintText); report.PrintSettings.ShowDialog = false; //--打印 if (tt_itemtype == 1) { report.Print(); } //--预览 if (tt_itemtype == 2) { report.Design(); } } }
/// <summary> /// FastReports /// </summary> /// <param name="isDesign"></param> private void FastReports(bool isDesign) { System.Data.DataSet printDataDs = new System.Data.DataSet(); try { int[] rownumber = this.gridViewMainData.GetSelectedRows(); DataRow row = this.gridViewMainData.GetDataRow(rownumber[0]); System.Data.DataTable mainData = ToDataTable(row); System.Data.DataTable detailsData = ((DataView)this.gridViewDetailsData.DataSource).ToTable(); if (mainData != null && mainData.Rows.Count > 0) { mainData.TableName = "mainData"; printDataDs.Tables.Add(mainData.Copy()); } if (detailsData != null && detailsData.Rows.Count > 0) { detailsData.TableName = "detailsData"; printDataDs.Tables.Add(detailsData.Copy()); } FastReport.Report report = new FastReport.Report(); Res.LocaleFolder = AppDomain.CurrentDomain.BaseDirectory + "FastReports\\Localization"; Res.LoadLocale(Res.LocaleFolder + @"\Chinese (Simplified).frl"); string FDataTables = "FDataTables"; string filename = @"FastReports\Reports\fx_001.frx"; report.Load(filename); using (Designer designer = new Designer()) { designer.SetModified(this, "EditData"); int i = 0; foreach (DataTable dt in printDataDs.Tables) { FDataTables = "FDataTables" + i.ToString(); printDataDs.Tables[i].TableName = FDataTables; report.RegisterData(printDataDs.Tables[i], FDataTables); report.GetDataSource(FDataTables).Enabled = true; i = i + 1; } Res.LocaleFolder = AppDomain.CurrentDomain.BaseDirectory + "FastReports\\Localization"; Res.LoadLocale(Res.LocaleFolder + @"\Chinese (Simplified).frl"); if (isDesign) { report.Design(); } else { report.SetParameterValue("time", DateTime.Now.Date.ToString("yyyy-MM-dd")); report.Prepare(); report.ShowPrepared(); } } } catch (Exception err) { MessageBox.Show(err.Message); } }
/// <summary> /// 明细设计 /// </summary> /// <param name="dic">打印数据</param> public void DetailDesigner(Dictionary <string, DataTable> dic) { if (dic == null) { return; } FastReport.Report report = GetDetailReport(dic); report.DoublePass = true; report.Design(); report.Dispose(); dic = null; }
/// <summary> /// 明细设计 /// </summary> /// <param name="dic"></param> public void DetailDesigner(Dictionary <string, DataTable> dic) { if (dic == null) { return; } FastReport.Report report = new FastReport.Report(); foreach (string key in dic.Keys) { report.RegisterData(dic[key], key); } //report.Show(); report.Design(); report.Dispose(); dic = null; }
private void OpenFrxFile() { try { barcodeView = new FastReport.Report(); barcodeView.PrintSettings.ShowDialog = false; barcodeView.PrintSettings.Printer = "Pr0"; barcodeView.Load(txtFileName.Text); //barcodeView.RegisterData(); barcodeView.Design(); } catch (Exception err) { MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK); } }
/// <summary> /// 明细设计 /// </summary> /// <param name="dic"></param> public void DetailDesigner(Dictionary<string, DataTable> dic) { if (dic == null) { return; } FastReport.Report report = new FastReport.Report(); foreach (string key in dic.Keys) { report.RegisterData(dic[key], key); } //report.Show(); report.Design(); report.Dispose(); dic = null; }
private void hsFastReport_Click(object sender, EventArgs e) { if (File.Exists(txtREPORTFILE.Text) && (txtREPORTFILE.Text.Length > 0)) { FastReport.Report rpt = new FastReport.Report(); rpt.Load(txtREPORTFILE.Text); rpt.AutoFillDataSet = false; FastReport.Data.XmlDataConnection dorg = (FastReport.Data.XmlDataConnection)rpt.Dictionary.Connections[0]; dorg.XmlFile = txtXMLDataFile.Text; dorg.XsdFile = txtXSDSchemaFile.Text; dorg.ConnectionString = string.Format("XsdFile={1};XmlFile={0}", txtXMLDataFile.Text, txtXSDSchemaFile.Text); rpt.Dictionary.Connections[0] = dorg; rpt.AutoFillDataSet = true; rpt.Design(true); txtREPORTFILE.Text = rpt.FileName; } }
/// <summary> /// 明细设计 /// </summary> /// <param name="dic"></param> public void DetailDesigner(Dictionary <string, DataTable> dic) { if (dic == null) { return; } FastReport.Report report = new FastReport.Report(); foreach (string key in dic.Keys) { report.RegisterData(dic[key], key); } //FastReport.Report report = GetDetailReport(dic); //if (report == null) //{ // return; //} //report.Prepare(); //report.Show(); report.DoublePass = true; report.Design(); report.Dispose(); dic = null; }
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; } } }
//----以下是MP01数据采集---- private void GetParaDataPrint_MP01(int tt_itemtype) { //第一步数据准备 DataSet dst = new DataSet(); DataTable dt = new DataTable(); dst.Tables.Add(dt); dt.Columns.Add("参数"); dt.Columns.Add("名称"); dt.Columns.Add("内容"); DataRow row1 = dt.NewRow(); row1["参数"] = "S01"; row1["名称"] = "产品型号"; row1["内容"] = this.label29.Text; dt.Rows.Add(row1); DataRow row2 = dt.NewRow(); row2["参数"] = "S02"; row2["名称"] = "COMITID"; row2["内容"] = this.label61.Text; dt.Rows.Add(row2); DataRow row3 = dt.NewRow(); row3["参数"] = "S03"; row3["名称"] = "GPSN"; row3["内容"] = this.label9.Text; dt.Rows.Add(row3); DataRow row4 = dt.NewRow(); row4["参数"] = "S04"; row4["名称"] = "物料编码"; row4["内容"] = this.label49.Text; dt.Rows.Add(row4); DataRow row5 = dt.NewRow(); row5["参数"] = "S05"; row5["名称"] = "短MAC"; row5["内容"] = this.label7.Text; dt.Rows.Add(row5); DataRow row6 = dt.NewRow(); row6["参数"] = "S06"; row6["名称"] = "长MAC"; row6["内容"] = this.label8.Text; dt.Rows.Add(row6); this.dataGridView2.DataSource = null; this.dataGridView2.Rows.Clear(); this.dataGridView2.DataSource = dst.Tables[0]; this.dataGridView2.Update(); this.dataGridView2.Columns[0].Width = 60; this.dataGridView2.Columns[1].Width = 80; this.dataGridView2.Columns[2].Width = 200; //第四步 打印或预览 //单板打印 if (dst.Tables.Count > 0 && dst.Tables[0].Rows.Count > 0 && tt_itemtype > 0) { FastReport.Report report = new FastReport.Report(); report.Prepare(); report.Load(tt_path); report.SetParameterValue("S01", dst.Tables[0].Rows[0][2].ToString()); report.SetParameterValue("S02", dst.Tables[0].Rows[1][2].ToString()); report.SetParameterValue("S03", dst.Tables[0].Rows[2][2].ToString()); report.SetParameterValue("S04", dst.Tables[0].Rows[3][2].ToString()); report.SetParameterValue("S05", dst.Tables[0].Rows[4][2].ToString()); report.SetParameterValue("S06", dst.Tables[0].Rows[5][2].ToString()); report.PrintSettings.ShowDialog = false; //--打印 if (tt_itemtype == 1) { report.Print(); PutLableInfor("打印完毕"); } //--预览 if (tt_itemtype == 2) { report.Design(); PutLableInfor("预览完毕"); } setRichtexBox("99、打印或预览完毕,请检查铭牌,OK"); } else { setRichtexBox("99、获取信息失败,或不是单板扫描状态,不能打印,over"); PutLableInfor("获取信息失败,或不是单板扫描状态,不能打印"); } }
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)); }
private void hsDesignNew_Click(object sender, EventArgs e) { FastReport.Report rpt = new FastReport.Report(); rpt.Design(true); }
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; } } }