using System; using System.Collections.Generic; 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 int 組織類別Id; private DAC_組織人員 Dao組織人員; protected void Page_Load(object sender, EventArgs e) { FunctionName = "組織人員處理"; Dao組織人員 = new DAC_組織人員(conn); if (!IsPostBack) ddl組織類別.DataBind(); else if (pnl組織圖.Visible) { GridView1.DataBind(); } } protected void btnSelect組織類別_Click(object sender, EventArgs e) { 組織類別Id = DAC.GetInt32(ddl組織類別.SelectedValue); Dao組織圖.DrawTree(TV, 組織類別Id); pnl組織圖.Visible = true; TV.ExpandAll(); if (TV.Nodes.Count > 0) { TV.Nodes[0].Select(); TV_SelectedNodeChanged(sender, e); } else { txt人員.Text = ""; txt人員姓名.Text = ""; lb組織名稱.Text = ""; } } protected void TV_SelectedNodeChanged(object sender, EventArgs e) { GridView1.DataBind(); lb組織名稱.Text = TV.SelectedNode.Text; //txt人員.Focus(); } protected void btnInsert_Click(object sender, EventArgs e) { if (!IsValid) return; 組織人員 newValue = new 組織人員(); newValue.組織ID = DAC.GetInt32(TV.SelectedValue); newValue.人員ID = txt人員.Text; newValue.職務ID = DAC.GetInt32(ddl職務.SelectedValue); newValue.直接主管ID = ddl主管.SelectedValue; newValue.DB_CRUSR = UserId; Dao組織人員.InsertOne(newValue); GridView1.DataBind(); ddl主管.DataBind(); //txt人員.Focus(); } protected void dsGrid_ObjectCreating(object sender, ObjectDataSourceEventArgs e) { e.ObjectInstance = Dao組織人員; } protected void ds職務_ObjectCreating(object sender, ObjectDataSourceEventArgs e) { e.ObjectInstance = Dao職務; } protected void cv人員_ServerValidate(object source, ServerValidateEventArgs args) { // 檢查人員是否存在 args.IsValid = Get員工姓名(args.Value).Trim().Length > 0; } protected void cv主管_ServerValidate(object source, ServerValidateEventArgs args) { // 檢查人員是否存在 args.IsValid = Get員工姓名(args.Value).Trim().Length > 0; } protected void cv人員重複_ServerValidate(object source, ServerValidateEventArgs args) { // 檢查人員是否重複 args.IsValid = !Dao組織人員.IsDuplicate(DAC.GetInt32(TV.SelectedValue), args.Value); } protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e) { ddl主管.DataBind(); // 20181023 檢查部門主管是否在部門人員中,若無則清除部門的主管欄位 組織圖 dept = Dao組織圖.SelectOne(DAC.GetInt32(TV.SelectedNode.Value)).FirstOrDefault(); if (dept != null && ddl主管.Items.FindByValue(dept.部門主管) == null) { dept.部門主管 = ""; Dao組織圖.UpdateOne(dept); } } } }