最近,在几年的休息之后又重新开始了编程,并且正在为我自己开发一个POS(Point )软件应用程序供我自己使用。我认为应用程序非常接近版本1 Beta发行版……直到我遇到了报道方面的事情。
在阅读了大量的教程和演练之后,对于如何实现我需要报告所做的工作,我几乎一点也不明智。
我试图实现的是一个EOD (一天结束)报告,我遇到的问题是如何显示来自4个不同的查询的数据。
我已经尝试过Business方法,它适用于在设计时设置的第一个级别,但其余的没有返回任何内容。
是否有更好的方法(更容易让我头脑清醒)来实现这一点?有人能推荐一个使用来自不同对象或表的数据建立报表模型的教程/演练吗?用停靠的报告查看器提取fronm代码报告查看器表单
public partial class ReportViewer : Form
{
private List<VO.TotSalesByDept> deptSales = new List<VO.TotSalesByDept>();
private VO.TotalSales daySales = new VO.TotalSales();
private List<VO.TotSalesByTender> tendSales = new List<VO.TotSalesByTender>();
private List<VO.TotSalesByGroup> grpSales = new List<VO.TotSalesByGroup>();
private BUS.UserBUS _userBUS = new BUS.UserBUS();
public ReportViewer()
{
InitializeComponent();
//daySales = _userBUS.getSalesTot(DateTime.Now);
deptSales = _userBUS.getDeptSales(DateTime.Now);
//tendSales = _userBUS.getTendSales(DateTime.Now);
//grpSales = _userBUS.getGroupSales(DateTime.Now);
}
private void ReportViewer_Load(object sender, EventArgs e)
{
//reportViewer1.LocalReport.SubreportProcessing += new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
//this.TotalSalesBindingSource.DataSource = daySales ;
//this.TotSalesByGrp.DataSource = grpSales;
//this.TotSalesByTender.DataSource = tendSales;
this.TotSalesByDeptBindingSource.DataSource = deptSales;
this.reportViewer1.RefreshReport();
}
//private void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
//{
// e.DataSources.Clear();
// e.DataSources.Add(new ReportDataSource());
//}
}表单调用的业务层。
public List<VO.TotSalesByDept> getDeptSales(DateTime _now)
{
List<VO.TotSalesByDept> deptSales = new List<VO.TotSalesByDept>();
DataTable dataTable = new DataTable();
dataTable = _userDAO.getTSalesByDept(_now.Date);
foreach (DataRow dr in dataTable.Rows)
{
VO.TotSalesByDept deptSale = new VO.TotSalesByDept();
deptSale.Dept = dr["Department"].ToString();
deptSale.RepQty = Int32.Parse(dr["Total QTY"].ToString());
deptSale.RGSales = decimal.Round(decimal.Parse(dr["TotItemSales"].ToString()),2,MidpointRounding.AwayFromZero);
deptSales.Add(deptSale);
}
return deptSales;
}不知道你还需要看什么?事先非常感谢史蒂夫
发布于 2015-08-29 17:39:38
下面的链接使我能够开始研究解决方案。
http://www.c-sharpcorner.com/UploadFile/robo60/StandaloneRDLCReports11142007183516PM/StandaloneRDLCReports.aspx
谢谢史蒂夫
https://stackoverflow.com/questions/32255429
复制相似问题