private void btnPrint_Click(object sender, EventArgs e) { if (radGridView.Rows.Count == 0) { return; } try { this.Cursor = Cursors.WaitCursor; Njit.Program.FastReportExtensions.Forms.PrintPreview form = new Njit.Program.FastReportExtensions.Forms.PrintPreview(Setting.Program.ThisProgram.GetReportPath("Report.frx"), Njit.Program.FastReportExtensions.Forms.PrintPreview.PrintSizes.A4, null, 1); form.ReportDocument.SetParameterValue("CompanyName", Setting.Archive.ThisProgram.LoadedArchiveSettings.OrganName); form.ReportDocument.SetParameterValue("ReportPrintDate", Njit.Common.PersianCalendar.GetDate(DateTime.Now)); form.ReportDocument.SetParameterValue("ReportPrintTime", Njit.Common.PersianCalendar.GetTime()); Njit.Program.Forms.GetValue f = new Njit.Program.Forms.GetValue("دریافت عنوان", "عنوان گزارش را وارد کنید:"); if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) { form.ReportDocument.SetParameterValue("Title", f.Value); } FastReport.ReportPage page = form.ReportDocument.Pages[0] as FastReport.ReportPage; FastReport.DataBand databand = page.Bands[0] as FastReport.DataBand; float width = databand.Width; foreach (var item in radGridView.Columns) { FastReport.TextObject bandText = new FastReport.TextObject(); bandText.CreateUniqueName(); bandText.HorzAlign = FastReport.HorzAlign.Center; int currentWidth = item.Width; bandText.Bounds = new RectangleF(width - currentWidth, 0.0f, currentWidth, databand.Height); bandText.Border.Lines = FastReport.BorderLines.All; //bandText.AutoWidth = true; bandText.RightToLeft = true; bandText.Font = new System.Drawing.Font("B Nazanin", 9); bandText.Text = "[ReportData." + item.Name + "]"; databand.AddChild(bandText); width -= item.Width;// bandText.CalcWidth(); } //databand.AfterLayout += databand_AfterLayout; DataTable dt = (radGridView.DataSource as DataTable).Clone(); dt.Rows.InsertAt(dt.NewRow(), 0); GetColumnsHeaders(dt.Rows[0]); foreach (DataRow row in (radGridView.DataSource as DataTable).Rows) { dt.Rows.Add(row.ItemArray); } form.ReportDocument.RegisterData(dt, "ReportData"); form.ReportDocument.GetDataSource("ReportData").Enabled = true; databand.DataSource = form.ReportDocument.GetDataSource("ReportData"); form.ShowDialog(this); } finally { this.Cursor = Cursors.Default; } }
private void btnApply_Click(object sender, EventArgs e) { if (dateTimePicker1.Value == null) { MessageBox.Show("Пожалуйста, укажите дату продажи автомобиля", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (cmbPerson.SelectedValue == null) { MessageBox.Show("Пожалуйста, укажите клиента", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (cmbEmployee.SelectedValue == null) { MessageBox.Show("Пожалуйста, укажите сотрудника, осуществляющего продажу автомобиля", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (String.IsNullOrEmpty(tbPrice.Text)) { MessageBox.Show("Пожалуйста, укажите цену", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (cmbPay.SelectedValue == null) { MessageBox.Show("Пожалуйста, укажите способ оплаты", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { Decimal.Parse(tbPrice.Text); } catch (Exception /*ex*/) { MessageBox.Show("Пожалуйста, укажите корректную цену продажи", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { autoDataSet.CHECK_SALE_PRICEDataTable checkData = checkAdapter.GetData(autoID, decimal.Parse(tbPrice.Text)); autoDataSet.CHECK_SALE_PRICERow checkRow = checkData.Rows[0] as autoDataSet.CHECK_SALE_PRICERow; if (checkRow.OUT_RES != 0) { if (MessageBox.Show("Цена продажи автомобиля меньше закупочной! Продолжить?", "Подтверждение продажи", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { return; } } saleAdapter.InsertQuery(dateTimePicker1.Value, Int32.Parse(cmbPerson.SelectedValue.ToString()), Int32.Parse(cmbEmployee.SelectedValue.ToString()), autoID, Decimal.Parse(tbPrice.Text), Int32.Parse(cmbPay.SelectedValue.ToString()) ); auto.autoDataSet.EMPLOYEERow employeeRow = ((cmbEmployee.SelectedItem as DataRowView).Row as auto.autoDataSet.EMPLOYEERow); DateTime empBD = employeeRow.PERSONRow.PERSON_BIRTHDAY; string empPS = employeeRow.PERSONRow.PERSON_PASSPORT_SERIAL; string empPN = employeeRow.PERSONRow.PERSON_PASSPORT_NUMBER; DateTime empPD = employeeRow.PERSONRow.PERSON_P_DATE; string empPP = employeeRow.PERSONRow.PERSON_P_PLACE; auto.autoDataSet.PERSONRow client = ((cmbPerson.SelectedItem as DataRowView).Row as auto.autoDataSet.PERSONRow); DateTime cliBD = client.PERSON_BIRTHDAY; string cliPS = client.PERSON_PASSPORT_SERIAL; string cliPN = client.PERSON_PASSPORT_NUMBER; DateTime cliPD = client.PERSON_P_DATE; string cliPP = client.PERSON_P_PLACE; FastReport.TextObject repEmpBD = report1.FindObject("repTxtEBD") as FastReport.TextObject; repEmpBD.Text = empBD.ToShortDateString(); FastReport.TextObject repEmpPS = report1.FindObject("repTxtEPS") as FastReport.TextObject; repEmpPS.Text = empPS.ToString(); FastReport.TextObject repEmpPN = report1.FindObject("repTxtEPN") as FastReport.TextObject; repEmpPN.Text = empPN.ToString(); FastReport.TextObject repEmpPD = report1.FindObject("repTxtEPD") as FastReport.TextObject; repEmpPD.Text = empPD.ToShortDateString(); FastReport.TextObject repEmpPP = report1.FindObject("repTxtEPP") as FastReport.TextObject; repEmpPP.Text = empPP; FastReport.TextObject repCliBD = report1.FindObject("repTxtCBD") as FastReport.TextObject; repCliBD.Text = cliBD.ToShortDateString(); FastReport.TextObject repCliPS = report1.FindObject("repTxtCPS") as FastReport.TextObject; repCliPS.Text = cliPS.ToString(); FastReport.TextObject repCliPN = report1.FindObject("repTxtCPN") as FastReport.TextObject; repCliPN.Text = cliPN.ToString(); FastReport.TextObject repCliPD = report1.FindObject("repTxtCPD") as FastReport.TextObject; repCliPD.Text = cliPD.ToShortDateString(); FastReport.TextObject repCliPP = report1.FindObject("repTxtCPP") as FastReport.TextObject; repCliPP.Text = cliPP; autoDataSet.AUTODataTable table = aUTOTableAdapter.GetDataByAutoID(autoID); auto.autoDataSet.AUTORow aObj = table.Rows[0] as autoDataSet.AUTORow; autoDataSet.MODELDataTable mdlTable = modelAdapter.GetDataByModelID(Int32.Parse(aObj.MODEL_ID.ToString())); string modelFull = (mdlTable.Rows[0] as auto.autoDataSet.MODELRow).MODEL_FULL.ToString(); MessageBox.Show("Продажа успешно оформлена!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); String file = File.ReadAllText("reports\\BuySale2.rdl"); file = file.Replace("REP_DATE", dateTimePicker1.Value.ToShortDateString()); FastReport.TextObject text = report1.FindObject("repTxtDate") as FastReport.TextObject; text.Text = dateTimePicker1.Value.ToShortDateString(); auto.autoDataSet.PERSONRow obj = ((cmbPerson.SelectedItem as DataRowView).Row as auto.autoDataSet.PERSONRow); file = file.Replace("REP_PERSON", obj.PERSON_FULL.ToString()); auto.autoDataSet.EMPLOYEERow emp = ((cmbEmployee.SelectedItem as DataRowView).Row as auto.autoDataSet.EMPLOYEERow); FastReport.TextObject employee = report1.FindObject("repTxtEmployee") as FastReport.TextObject; if (emp.EMPLOYEE_FULL.ToString().IndexOf(',') > 0) { employee.Text = emp.EMPLOYEE_FULL.ToString().Substring(0, emp.EMPLOYEE_FULL.ToString().IndexOf(',')); } else { employee.Text = emp.EMPLOYEE_FULL.ToString(); } FastReport.TextObject person = report1.FindObject("repTxtPerson") as FastReport.TextObject; person.Text = obj.PERSON_FULL.ToString(); file = file.Replace("REP_MODEL", modelFull); FastReport.TextObject model = report1.FindObject("repTxtModel") as FastReport.TextObject; model.Text = modelFull; FastReport.TextObject modelPrice = report1.FindObject("repModelPrice") as FastReport.TextObject; modelPrice.Text = (mdlTable.Rows[0] as auto.autoDataSet.MODELRow).MODEL_PRICE.ToString() + " руб."; FastReport.TextObject engine = report1.FindObject("repTxtEngine") as FastReport.TextObject; engine.Text = (((System.Data.DataRowView)(cmbEngine.SelectedItem)).Row as autoDataSet.ENGINERow).ENGINE_FULL; FastReport.TextObject enginePrice = report1.FindObject("repEnginePrice") as FastReport.TextObject; enginePrice.Text = (((System.Data.DataRowView)(cmbEngine.SelectedItem)).Row as autoDataSet.ENGINERow).ENGINE_PRICE.ToString() + " руб."; FastReport.TextObject modification = report1.FindObject("repTxtModification") as FastReport.TextObject; modification.Text = (((System.Data.DataRowView)(cmbMod.SelectedItem)).Row as autoDataSet.MODIFICATIONRow).FULL; FastReport.TextObject modificationPrice = report1.FindObject("repModificationPrice") as FastReport.TextObject; modificationPrice.Text = (((System.Data.DataRowView)(cmbMod.SelectedItem)).Row as autoDataSet.MODIFICATIONRow).MODIFICATION_PRICE.ToString() + " руб."; auto.autoDataSet.AUTORow obj2 = aObj; file = file.Replace("REP_COLOR", obj2.AUTO_COLOR.ToString()); FastReport.TextObject color = report1.FindObject("repTxtColor") as FastReport.TextObject; color.Text = obj2.AUTO_COLOR.ToString(); file = file.Replace("REP_VIN", obj2.AUTO_VIN.ToString()); FastReport.TextObject vin = report1.FindObject("repTxtVin") as FastReport.TextObject; vin.Text = obj2.AUTO_VIN.ToString(); FastReport.TextObject vin2 = report1.FindObject("repTxtVin2") as FastReport.TextObject; vin2.Text = obj2.AUTO_VIN.ToString(); file = file.Replace("REP_PRICE", tbPrice.Text + " руб."); FastReport.TextObject sum = report1.FindObject("repTxtSum") as FastReport.TextObject; sum.Text = tbPrice.Text + " руб."; FastReport.TextObject sum2 = report1.FindObject("repTxtSum2") as FastReport.TextObject; sum2.Text = txtCatalogPrice.Text + " руб."; FastReport.TextObject priceMethod = report1.FindObject("repTxtPriceMethod") as FastReport.TextObject; auto.autoDataSet.PAYRow payRow = ((cmbPay.SelectedItem as DataRowView).Row as auto.autoDataSet.PAYRow); priceMethod.Text = payRow.PAY_NAME; File.WriteAllText("reports\\BuySale2_tmp.rdl", file); string filepath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "reports\\BuySale2_tmp.rdl"); //this.rdlViewer1.SourceFile = new Uri(filepath); //this.rdlViewer1.Rebuild(); this.clientAdapter.Insert((int)(long)cmbPerson.SelectedValue, autoID); object count = autoCount.GetAutoCount(autoID); int cnt = (int)count; autoCount.UpdateAutoCount(--cnt, autoID); SaleEventForm_Load(sender, e); report1.Show(); } catch (Exception ex) { MessageBox.Show("Ошибка оформления продажи. \n" + ex.Message, "Ошибка обработки", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public override void ImprimirEnOtroFormato() { string nombreArchivo = ""; string logoEmpresa = ""; Bitmap imgLogo; FastReport.Base frBase; int tipoNCF = 0; int diasCredito = 0; double montoACredito = 0; try { nombreArchivo = Environment.CurrentDirectory + @"\Reportes\factura.frx"; tipoNCF = objUtil.GetAsInt("Tipo_NCF", DTVistaData.Rows[0]); diasCredito = objUtil.GetAsInt("Dias_Credito", DTVistaData.Rows[0]); montoACredito = objUtil.GetAsDouble("Monto_ACredito", DTVistaData.Rows[0]); using (FastReport.Report report = new FastReport.Report()) { report.Load(nombreArchivo); report.RegisterData(DTVistaData, "VVENTAS_DETALLE"); report.RegisterData(DTOficina, "VEMPRESAS_OFICINAS"); //Vamos a asignar el logo logoEmpresa = Environment.CurrentDirectory + @"\images\logo.png"; if (File.Exists(logoEmpresa)) { imgLogo = (Bitmap)Image.FromFile(logoEmpresa); FastReport.PictureObject ptLogo = report.FindObject("ptLogo") as FastReport.PictureObject; ptLogo.Image = imgLogo; } if (tipoNCF <= 0) { frBase = report.FindObject("txtNCF"); if (frBase != null) { FastReport.TextObject txt = (frBase as FastReport.TextObject); txt.Visible = false; } } if ((diasCredito <= 0) || (montoACredito <= 0)) { frBase = report.FindObject("txtFechaVence"); if (frBase != null) { FastReport.TextObject txt = (frBase as FastReport.TextObject); txt.Visible = false; } } report.PrintSettings.PrintMode = FastReport.PrintMode.Default; report.Print(); } } catch (Exception) { throw; } }