CSFrameworkV6旗舰版 | 送货单报表C#源码参考|C/S开发框架

Report - 报表代码(送货单)
报表打印窗体 - 送货单



报表打印窗体代码
using CartonERP.Business;
using CartonERP.Library.CommonClass;
using CartonERP.Models;
using CSFrameworkV6.Core.Extensions;
using FastReport;
using FastReport.Data;
using System.Data;
using System.IO;
namespace CartonERP.ReportModule.FastReportForms
{
public partial class frmReportDO_Carton : frmBasePrint
{
const string REPORT_DOC_TYPE = "DO_Carton";
public frmReportDO_Carton()
{
InitializeComponent();
_BLLReports = new bllReports();
DataBinderTools.BoundReport(txtReportTpye.Properties, REPORT_DOC_TYPE);
txtReportTpye.EditValue = (txtReportTpye.Properties.DataSource as List<sys_Reports>).FirstOrDefault().ReportFileName;
}
public static void Execute(string DONO, bool preview = true)
{
frmReportDO_Carton form = new frmReportDO_Carton();
form.txtNoFrom.Text = DONO;
if (preview)
{
Report rpt = form.InitializeReport();
rpt.PrintSettings.ShowDialog = false;
rpt.Show();
}
else
{
form.ShowDialog();
}
}
protected override void DoPrinterSetup()
{
var data = JsonFilePrinterSetup.Current.Get(REPORT_DOC_TYPE);
if (frmBasePrinterSetup.Execute(ref data))
{
JsonFilePrinterSetup.Current.Write(REPORT_DOC_TYPE, data);
}
}
protected override void DoPrint()
{
ReportLib.SyncReportFile(REPORT_DOC_TYPE, txtReportTpye.EditValue.ToStringEx());
Report rptDO_CartonTable = this.InitializeReport();
rptDO_CartonTable.Prepare();
rptDO_CartonTable.PrintPrepared();
}
protected override void DoPreview()
{
ReportLib.SyncReportFile(REPORT_DOC_TYPE, txtReportTpye.EditValue.ToStringEx());
Report rptDO_CartonTable = this.InitializeReport();
rptDO_CartonTable.Show(true, this);
}
protected override void DoDesignReport()
{
}
private string GetReportFilePath(string fileName)
{
return Path.Combine(Application.StartupPath, @"Reports\" + fileName);
}
/// <summary>
/// 初始化报表
/// </summary>
/// <param name="docNo">送货单号</param>
private Report InitializeReport(string docNo = "")
{
#region 方法1:加载本地报表文件写法
string rptFileName = txtReportTpye.EditValue.ToStringEx();
string file = this.GetReportFilePath(rptFileName);
Report rptDO_Carton = new Report();
rptDO_Carton.Load(file);
#endregion
var valList = txtNoFrom.EditValue.ToStringEx().Split(',', StringSplitOptions.RemoveEmptyEntries).ToList();
QueryBusiness P = new QueryBusiness
{
DocNoFrom = docNo == null ? txtNoFrom.Text : docNo,
ListDocNo = valList,
};
var ds = new bll_DO_Carton().QueryReportData(P);
ReportLib.ApplyUserName(ds);
ReportLib.ApplyEmptyRows(ds, 0, REPORT_DOC_TYPE, "DONO", rptFileName, false);
if (ds.Tables[0].Columns["TotalAmountCHN"] == null)
{
ReportLib.AddColumn(ds.Tables[0], "TotalAmountCHN", typeof(String));
foreach (DataRow item in ds.Tables[0].Rows)
{
item["TotalAmountCHN"] = RmbHelper.ToUpper(item["TotalAmount"].ToDecimal());
}
}
var CustomerCode = ds.Tables[0].Rows.Count > 0 ? ds.Tables[0].Rows[0]["CustomerCode"].ToStringEx() : "";
var fileName = txtReportTpye.EditValue.ToStringEx();
var obj = txtReportTpye.Properties.GetDataSourceRowByKeyValue(fileName) as sys_Reports;
foreach (DataRow item in ds.Tables[1].Rows)
{
if (obj.SortId == 2)
{
item["Price"] = 0;
item["Amount"] = 0;
}
if (obj.ReportFileName == fileName && obj.SortId == 4)
{
item["Price"] = 0;
item["Amount"] = 0;
}
if (obj.ReportFileName == fileName && obj.SortId == 5)
{
item["ProductName"] = DBNull.Value;
}
if (obj.ReportFileName == fileName && obj.SortId == 6)
{
item["ProductName"] = DBNull.Value;
item["Price"] = 0;
item["Amount"] = 0;
}
if (obj.ReportFileName == fileName && obj.SortId == 7)
{
item["Price"] = 0;
item["Amount"] = 0;
}
if (obj.ReportFileName == fileName && obj.SortId == 8)
{
item["ProductName"] = DBNull.Value;
}
}
rptDO_Carton.Tag = ds;
ds.Tables[0].TableName = "M";
ds.Tables[1].TableName = "D";
rptDO_Carton.RegisterData(ds.Tables[0], "M");
rptDO_Carton.RegisterData(ds.Tables[1], "D");
(rptDO_Carton.GetDataSource("M") as TableDataSource).Enabled = true;
(rptDO_Carton.GetDataSource("D") as TableDataSource).Enabled = true;
DataBand masterBand = rptDO_Carton.FindObject("Data1") as DataBand;
masterBand.DataSource = rptDO_Carton.GetDataSource("M");
DataBand detailBand = rptDO_Carton.FindObject("Data2") as DataBand;
detailBand.DataSource = rptDO_Carton.GetDataSource("D");
detailBand.Relation = new Relation();
detailBand.Relation.ParentColumns = new string[] { "DONO" };
detailBand.Relation.ParentDataSource = rptDO_Carton.GetDataSource("M");
detailBand.Relation.ChildColumns = new string[] { "DONO" };
detailBand.Relation.ChildDataSource = rptDO_Carton.GetDataSource("D");
ReportLib.SetCustomerReportTitle(rptDO_Carton, CustomerCode);
ReportLib.SetCustomerPriceAmountPoint(rptDO_Carton, CustomerCode, "[D.Price]", "[D.Amount]");
ReportLib.ApplyPrinterSettings(rptDO_Carton, JsonFilePrinterSetup.Current.Get(REPORT_DOC_TYPE));
QueryBusiness p = new QueryBusiness { ListDocNo = valList };
var result = new bll_DO_Carton().UpdatePrintTimes(p);
return rptDO_Carton;
}
}
}

扫一扫加作者微信