C#機房重構之報表
阿新 • • 發佈:2018-12-10
- 前言
VB版機房就已經做過一次報表了,VS的報表和VB略有不同,一起來看看吧。
-步驟
一、建立窗體 1.建立窗體之後把下面的報表空間新增到窗體上 2.介面如下 二、建立報表 1.新增窗體(此處注意,報表為繁體字,搜尋是搜不出來的) 2. 建立之後 3.介面空白處右擊新增表 4.新建資料來源 5.新增表頭資料之後簡單設計 三、最終配置 回到介面控制元件,點選控制元件的小三角 選擇好報表之後 點選查詢生成器,選擇自己需要的欄位 #程式碼
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Facade; using Microsoft.Reporting.WinForms; using Entity; namespace UI { public partial class frmAdmbill : Form { public frmAdmbill() { InitializeComponent(); } private void frmAdmbill_Load(object sender, EventArgs e) { // TODO: 這行程式碼將資料載入到表“Bill.Check_Info”中。您可以根據需要移動或刪除它。 this.Check_InfoTableAdapter.Fill(this.Bill.Check_Info); this.reportViewer1.RefreshReport(); //// TODO: 這行程式碼將資料載入到表“charge_sysDataSet.CheckDay_Info”中。您可以根據需要移動或刪除它。 //this.CheckDay_InfoTableAdapter.Fill(this.charge_sysDataSet.CheckDay_Info, DateTime.Now.Date.ToString()); } private void btnLookFo_Click(object sender, EventArgs e) { //引數 Check_Info check = new Check_Info(); dTPStart.Text = dTPStart.Value.Date.ToShortDateString(); DateTime starttime = Convert.ToDateTime(dTPStart.Text); //例項化外觀 CheckBillFacade facadecheckbill = new CheckBillFacade(); check.Checkdate = DateTime.Now.Date; DataTable table = facadecheckbill.SelectCheck_Info(check); ReportDataSource reportdatasource = new ReportDataSource(); //設定報表的資料來源名稱 reportdatasource.Name = "Bill"; //報表資料來源例項 reportdatasource.Value = table; this.reportViewer1.LocalReport.ReportEmbeddedResource = "UI.Report1.rdlc"; //清空存在的報表 this.reportViewer1.LocalReport.DataSources.Clear(); //新增資料來源 this.reportViewer1.LocalReport.DataSources.Add(reportdatasource); //傳遞引數 //dTPStart.Text = DateTime.Now.ToShortDateString(); //dTPEnd .Text = DateTime.Now.ToShortDateString(); //DateTime starttime = Convert.ToDateTime(dTPStart.Text); //DateTime endtime = Convert.ToDateTime(dTPEnd.Text); //this.CheckDay_InfoTableAdapter.Fill(this.charge_sysDataSet.CheckDay_Info,dTPStart,dTPEnd); //重新整理報表 this.reportViewer1.RefreshReport(); } } }
#小結 這次的報表讓自己對VS的瞭解更深一步,感覺還是很好用的。