public static bool SetReportPaperPrinterConfig(string reportName, out int Type, out string PrintName) { int _Type = 0; string _PrintName = ""; FrmSelectTarget dlgSelected = new FrmSelectTarget(reportName); dlgSelected.OnAfterSelected += delegate(TrasenFrame.Classes.ReportPaper.PrinterTargetType type, string printName) { TrasenFrame.Classes.ReportPaper.SetReportPaperPrinter(reportName, printName, (int)type); _Type = (int)type; _PrintName = printName; }; Type = 0; PrintName = ""; if (dlgSelected.ShowDialog() == DialogResult.OK) { Type = _Type; PrintName = _PrintName; dlgSelected.Close(); return(true); } else { dlgSelected.Close(); return(false); } }
void dgvReport_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex == -1 || e.ColumnIndex == -1) { return; } if (dgvReport.Columns[e.ColumnIndex].Name == COL_BUTTON.Name) { string reportName = dgvReport[COL_REPORT_NAME.Name, e.RowIndex].Value.ToString(); int t = (int)TrasenFrame.Classes.ReportPaper.PrinterTargetType.自定义打印机; if (dgvReport[COL_TYPE.Name, e.RowIndex].Value.ToString() == TrasenFrame.Classes.ReportPaper.PrinterTargetType.报表打印机.ToString()) { t = (int)TrasenFrame.Classes.ReportPaper.PrinterTargetType.报表打印机; } if (dgvReport[COL_TYPE.Name, e.RowIndex].Value.ToString() == TrasenFrame.Classes.ReportPaper.PrinterTargetType.发票打印机.ToString()) { t = (int)TrasenFrame.Classes.ReportPaper.PrinterTargetType.发票打印机; } string pname = dgvReport[COL_PRINTER_NAME.Name, e.RowIndex].Value.ToString(); FrmSelectTarget dlgSelected = new FrmSelectTarget(pname, t); dlgSelected.OnAfterSelected += delegate(TrasenFrame.Classes.ReportPaper.PrinterTargetType type, string printName) { ReportPaper.SetReportPaperPrinter(reportName, printName, (int)type); dgvReport[COL_TYPE.Name, e.RowIndex].Value = type.ToString(); dgvReport[COL_PRINTER_NAME.Name, e.RowIndex].Value = printName; reportPapers = TrasenFrame.Classes.ReportPaper.LoadLocalReportPapers(TrasenFrame.Forms.FrmMdiMain.Database); }; dlgSelected.ShowDialog(); //静态方法调用测试 //int t; //string name; //if ( FrmSelectTarget.SetReportPaperPrinterConfig( reportName , out t , out name ) ) //{ // dgvReport[COL_TYPE.Name , e.RowIndex].Value = ((TrasenFrame.Classes.ReportPaper.PrinterTargetType)t).ToString(); // dgvReport[COL_PRINTER_NAME.Name , e.RowIndex].Value = name; //} } }