using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using WebLib; namespace Education.Forms.辦訓狀況 { public partial class 教學日誌處理 : FormBase { private DAC_訓練課程內容 Dao訓練課程內容; private DAC_教學日誌 Dao教學日誌; private int 課程企劃ID; private int 課程序號; private bool 主簽核已核准 = false; protected void Page_Load(object sender, EventArgs e) { FunctionName = "教學日誌暨異常狀況登錄"; Dao訓練課程內容 = new DAC_訓練課程內容(conn); Dao教學日誌 = new DAC_教學日誌(conn); Form_View = FormView1; FormView_DataSource = ds教學日誌; if (IsPostBack) { Form_View.DataBind(); } Form_View.Visible = (訓練企劃搜尋.訓練企劃編號 > 0 && ddl課程內容.SelectedValue != null && ddl課程內容.SelectedValue.Length > 0); 送簽1.Send += 送簽_Changed; 送簽1.Approved += 送簽_Changed; 送簽1.Rejected += 送簽_Changed; 送簽1.Canceled += 送簽_Changed; 送簽1.Withdrawn += 送簽_Changed; 送簽2.Send += 送簽_Changed; 送簽2.Approved += 送簽_Changed; 送簽2.Rejected += 送簽_Changed; 送簽2.Canceled += 送簽_Changed; 送簽2.Withdrawn += 送簽_Changed; if (!Form_View.Visible || Form_View.CurrentMode != FormViewMode.ReadOnly) { 送簽1.Visible = false; 送簽2.Visible = false; } } private void 送簽_Changed(object sender, EventArgs e) { Form_View.DataBind(); } 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查詢1_Click(object sender, EventArgs e) { if (訓練企劃搜尋.訓練企劃編號 == 0) { Panel1.Visible = false; Panel2.Visible = false; lbMessage.Text = "請選擇課程企劃"; return; } Panel1.Visible = true; ddl課程內容.DataBind(); Panel2.Visible = ddl課程內容.Items.Count > 0; } protected void btn查詢2_Click(object sender, EventArgs e) { Form_View.ChangeMode(FormViewMode.ReadOnly); Form_View.DataBind(); } protected override void FormView_DataBound(object sender, EventArgs e) { if (!Form_View.Visible) return; //if (Form_View.PageCount == 0) //{ // if (Form_View.CurrentMode != FormViewMode.Insert) // { // Form_View.ChangeMode(FormViewMode.Insert); // Form_View.DataBind(); // return; // } //} 課程企劃ID = 訓練企劃搜尋.訓練企劃編號; 課程序號 = DAC.GetInt32(ddl課程內容.SelectedValue); base.FormView_DataBound(sender, e); // DataBound 事件在 ReadOnly/Edit/Insert DataBound 之後觸發, // 在此做最後一次送簽區塊可見性確認,避免切換課程時停留在舊狀態。 if (Form_View.CurrentMode == FormViewMode.ReadOnly && Form_View.SelectedValue != null) { 送簽1.Visible = true; 送簽2.Visible = 已送簽且未撤單(Dao表單簽核主檔.GetLastStatus( "教學日誌暨異常狀況", String.Format("{0}|{1}", 課程企劃ID, 課程序號))); } else { 送簽1.Visible = false; 送簽2.Visible = false; } } private void 顯示課程內容相關資料() { 訓練課程內容List d = Dao訓練課程內容.SelectOne(課程企劃ID, 課程序號); if (d.Count > 0) { if (FindControl(Form_View, "lb節次") != null) FindControl(Form_View, "lb節次").Text = d[0].節次.ToString(); if (FindControl(Form_View, "lb講師") != null) FindControl(Form_View, "lb講師").Text = Dao訓練課程企劃.Select選定講師名稱(課程企劃ID, 課程序號); } } protected override void FormView_InsertDataBound(object sender, EventArgs e) { base.FormView_InsertDataBound(sender, e); 訓練課程企劃List d = Dao訓練課程企劃.SelectOne(課程企劃ID); if (d.Count == 0) return; FindControl(Form_View, "lb課程企劃編號").Text = d[0].顯示編號; FindControl(Form_View, "hf課程序號").Value = ddl課程內容.SelectedValue; FindControl(Form_View, "txt填表日期").Value = DateTime.UtcNow.AddHours(8).Date; FindControl(Form_View, "txt填表人員").Text = UserId; FindControl(Form_View, "lb填表人員X").Text = Get員工姓名(UserId); 顯示課程內容相關資料(); 送簽1.Visible = false; 送簽2.Visible = false; btn填寫追蹤.Visible = false; pnl追蹤編輯.Visible = false; } protected override void FormView_EditDataBound(object sender, EventArgs e) { base.FormView_EditDataBound(sender, e); 訓練課程企劃List d = Dao訓練課程企劃.SelectOne(課程企劃ID); if (d.Count == 0) return; FindControl(Form_View, "lb課程企劃編號").Text = d[0].顯示編號; 顯示課程內容相關資料(); 送簽1.Visible = false; 送簽2.Visible = false; btn填寫追蹤.Visible = false; pnl追蹤編輯.Visible = false; } private void Set新增欄位顯示() { string[] 新欄位ID = { "lb觀察01", "lb觀察02", "lb觀察03", "lb觀察04", "lb觀察05", "lb觀察06", "lb觀察07", "lb觀察08", "lb觀察說明", "lb觀察紀錄1", "lb觀察紀錄2", "lb是否需後續追蹤", "lb追蹤事項", "lb處理結果追蹤" }; foreach (string 控制項ID in 新欄位ID) { Label lb = FindControl