0
보고서 뷰어가있는 Windows 양식이 있습니다. 현재는 양식 상단에 인쇄 아이콘 만 사용하여 인쇄 할 수 있습니다. 보고서 뷰어 컨트롤을 디자인 할 때 보고서을 .rdlc 파일로 설정했습니다. 이 양식의 로드 이벤트에서 내 코드입니다 :바로 가기 키를 사용하여 기존 보고서 뷰어 인쇄
private void BillViewer_Load(object sender, EventArgs e)
{
reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);
reportViewer1.ZoomMode = ZoomMode.PageWidth;
DataTable tempDt = CafePOS.Menu.Model.MenuModel.GetOrderSummary(table_reservation_id);
DataTable billDt = new DataTable();
billDt.Columns.Add("menu_item_name");
billDt.Columns.Add("menu_rate");
billDt.Columns.Add("qty");
billDt.Columns.Add("total");
int numOfCols = 0;
foreach (DataRow dr in tempDt.Rows)
{
billDt.Rows.Add(dr["menu_item_name"], (dr["menu_rate"]), (dr["qty"]), (dr["total"]));
numOfCols++;
}
billDataDT = billDt;
//calculate total
decimal totalCal = 0;
foreach (DataRow drr in tempDt.Rows)
{
totalCal += decimal.Parse(drr["total"].ToString());
}
total = totalCal.ToString();
grandTotal = grandTotal.ToString();
discount = discount.ToString();
received = "0.00";
returnAmt = "0.00";
Main.CommonDataSet.bill_dtDataTable DSbillDt = new Main.CommonDataSet.bill_dtDataTable();
DSbillDt.Clear();
IDataReader idr = DSbillDt.CreateDataReader();
DSbillDt.Load(idr, LoadOption.OverwriteChanges);
ReportDataSource rds = new ReportDataSource("CDS", billDataDT);
reportViewer1.LocalReport.DataSources[0] = rds;
List<ReportParameter> rpc = new List<ReportParameter>();
rpc.Add(new ReportParameter("billDate", DateTime.Now.ToShortDateString()));
rpc.Add(new ReportParameter("companyName", Library.GlobalValue.company_name));
rpc.Add(new ReportParameter("companyAddress", Library.GlobalValue.address));
rpc.Add(new ReportParameter("companyPhone", Library.GlobalValue.phone));
rpc.Add(new ReportParameter("total", total));
rpc.Add(new ReportParameter("grandTotal", grandTotal));
rpc.Add(new ReportParameter("discount", discount));
rpc.Add(new ReportParameter("cashReceived", received));
rpc.Add(new ReportParameter("cashReturned", returnAmt));
reportViewer1.LocalReport.SetParameters(rpc);
this.reportViewer1.RefreshReport();
}
private void BillViewer_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.P)
{
//print report
}
}
에서 KeyDown 이벤트 에, 나는 의 ReportViewer 컨트롤에 들어있는 보고서을 인쇄 할. 그렇게하려면 어떻게해야합니까? 미리 감사드립니다.
당신에게 선생님 감사합니다. 너 내 많은 시간과 노력을 덜어 줬어. –