using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.IO; using WebLib; namespace Education.Forms.辦訓前置作業 { public partial class 學員簽到表列印 : FormBase { protected void Page_Load(object sender, EventArgs e) { FunctionName = "學員簽到表列印"; lbMessage.Text = ""; RegisterPostbackTrigger(訓練企劃搜尋.SearchButton); } protected void ds已截止未上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e) { e.ObjectInstance = Dao訓練課程企劃; } protected void ds報名學員_ObjectCreating(object sender, ObjectDataSourceEventArgs e) { e.ObjectInstance = Dao課程報名; } protected void btn列印_Click(object sender, EventArgs e) { if (訓練企劃搜尋.訓練企劃編號 == 0) { lbMessage.Text = "請選擇課程企劃"; return; } // 準備資料 int 課程企劃Id = 訓練企劃搜尋.訓練企劃編號; 訓練課程企劃List 課程企劃Data = Dao訓練課程企劃.SelectOne(課程企劃Id); DAC_訓練課程內容 Dao訓練課程內容 = new DAC_訓練課程內容(conn); DataTable 講師Data = Dao訓練課程內容.Select上課講師(課程企劃Id); string 講師 = ""; foreach (DataRow r in 講師Data.Rows) { 講師 += DAC.GetString(r["講師姓名"]) + "、"; } if (講師.Length > 0) 講師 = 講師.Substring(0, 講師.Length - 1); DataTable dt = Dao課程報名.Select確定報名學員名單(課程企劃Id); if (dt.Rows.Count == 0) { lbMessage.Text = "此課程目前沒有指定必修人員,也沒有選修人員報名,不需列印學員簽到表"; return; } // 報表產出 Report.學員簽到表 report = new Report.學員簽到表(); report.公司名稱 = CompanyName; report.訓練日期 = 訓練課程企劃.Get訓練日期Str(課程企劃Data[0].訓練日期, 課程企劃Data[0].訓練日期迄); report.訓練企劃名稱 = 課程企劃Data[0].訓練名稱; report.辦理地點 = GetData.取得選定場地(課程企劃Id).場地名稱; report.講師姓名 = 講師; report.承辦人員 = Dao員工.Get員工姓名(課程企劃Data[0].承辦); report.訓練日期List = Dao訓練課程內容.Select訓練日期List(課程企劃Id); report.data = dt; MemoryStream ms = report.DoReport(); ResponseWriteStream(ms, String.Format("{0:yyyyMMdd}_{1}_學員簽到表.xlsx", 課程企劃Data[0].訓練日期, 課程企劃Data[0].訓練名稱)); } } }