using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; using WebLib; namespace Education.Forms.Common { [DefaultProperty("訓練企劃編號")] [DefaultEvent("Click")] public partial class 訓練企劃搜尋 : UserControlBase { protected void Page_Load(object sender, EventArgs e) { if (txtYear.Text == "") { txtYear.Text = DateTime.UtcNow.AddHours(8).Date.Year.ToString(); DoDataBind(); } } private void DoDataBind() { switch (訓練企劃狀態) { case 企劃狀態Enum.未上課: ddl課程企劃.DataSource = ds未上課; lbHint.Text = "(還未上課的課程企劃)"; break; case 企劃狀態Enum.已截止未上課: ddl課程企劃.DataSource = ds已截止未上課; lbHint.Text = "(已截止報名,還未上課的課程企劃)"; break; case 企劃狀態Enum.已上課未結案: ddl課程企劃.DataSource = ds已上課未結案; lbHint.Text = "(已上課,還未結案的課程企劃)"; break; case 企劃狀態Enum.已上課: ddl課程企劃.DataSource = ds已上課; lbHint.Text = "(已上課的課程企劃)"; break; case 企劃狀態Enum.已結案: ddl課程企劃.DataSource = ds已結案; lbHint.Text = "(已結案的課程企劃)"; break; case 企劃狀態Enum.已簽核未結案: ddl課程企劃.DataSource = ds已簽核未結案; lbHint.Text = "(已簽核未結案的課程企劃)"; break; case 企劃狀態Enum.全部: ddl課程企劃.DataSource = ds全部; lbHint.Text = "(全部課程企劃)"; break; } ddl課程企劃.DataBind(); } protected void ds_ObjectCreating(object sender, ObjectDataSourceEventArgs e) { e.ObjectInstance = Dao訓練課程企劃; } [DefaultValue(企劃狀態Enum.已上課未結案)] public 企劃狀態Enum 訓練企劃狀態 { get { if (ViewState["訓練企劃狀態"] == null) return 企劃狀態Enum.已上課未結案; else return (企劃狀態Enum)ViewState["訓練企劃狀態"]; } set { ViewState["訓練企劃狀態"] = value; } } public int 訓練企劃編號 { get { return DAC.GetInt32(ddl課程企劃.SelectedValue); } } public string 訓練企劃名稱 { get { if (ddl課程企劃.SelectedItem != null) return ddl課程企劃.SelectedItem.Text; else return ""; } } public string SearchButtonText { get { return btnOK.Text; } set { btnOK.Text = value; } } public Control SearchButton { get { return btnOK; } } public event EventHandler Click; protected void btnOK_Click(object sender, EventArgs e) { Click(this, new EventArgs()); } protected void btnYearSearch_Click(object sender, EventArgs e) { DoDataBind(); } } public enum 企劃狀態Enum { 未上課, 已截止未上課, 已上課未結案, 已上課, 已結案, 已簽核未結案, 全部 } }