Files
thinkyu/branches/1150807/Forms/辦訓前置作業/學員簽到表列印.aspx.cs
T
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

76 lines
3.0 KiB
C#

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].訓練名稱));
}
}
}