public void GetCustomFieldNew(string guid, string boss_id,ref DataRow dr) { ACMS.DAO.CustomFieldValueDAO myCustFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO(); List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(new Guid(guid), boss_id); ACMS.BO.CustomFieldItemBO myCustFieldItemBO = new ACMS.BO.CustomFieldItemBO(); List<ACMS.VO.CustomFieldItemVO> custFieldItemList; string custFieldSt = ""; decimal ttl = 0; string[] FieldIDs; foreach (ACMS.VO.CustomFieldValueVO custFieldVO in myCustomFieldValueVOList) { if (custFieldVO.field_control.ToLower() == "textbox") { dr[ custFieldVO.field_name]= custFieldVO.field_value ; } custFieldSt = ""; if (custFieldVO.field_control.ToLower() == "textboxlist") { ttl = 0; FieldIDs = custFieldVO.field_value.Split(','); custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id); foreach (string fieldID in FieldIDs) { foreach (ACMS.VO.CustomFieldItemVO custFieldItem in custFieldItemList) { if (int.Parse(fieldID) == custFieldItem.field_item_id) { custFieldSt += custFieldItem.field_item_name + ":" + custFieldItem.field_item_text + ""; ttl += decimal.Parse(custFieldItem.field_item_text); dr[custFieldVO.field_name + "_" + custFieldItem.field_item_name] = decimal.Parse(custFieldItem.field_item_text); } } } custFieldSt += "合計: " + ttl.ToString() + ""; dr[custFieldVO.field_name + "合計"] = ttl; } if (custFieldVO.field_control.ToLower() == "checkboxlist") { custFieldSt =""; FieldIDs = custFieldVO.field_value.Split(','); custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id); foreach (string fieldID in FieldIDs) { foreach (ACMS.VO.CustomFieldItemVO custFieldItem in custFieldItemList) { if (int.Parse(fieldID) == custFieldItem.field_item_id) { custFieldSt += custFieldItem.field_item_name + custFieldItem.field_item_text + ","; dr[custFieldVO.field_name + "_" + custFieldItem.field_item_name] = "V"; } } } //dr[custFieldVO.field_name] = custFieldSt; } if (custFieldVO.field_control.ToLower() == "radiobuttonlist") { custFieldSt+= ""; FieldIDs = custFieldVO.field_value.Split(','); custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id); foreach (string fieldID in FieldIDs) { foreach (ACMS.VO.CustomFieldItemVO custFieldItem in custFieldItemList) { if (int.Parse(fieldID) == custFieldItem.field_item_id) { custFieldSt += custFieldItem.field_item_name + custFieldItem.field_item_text + ","; dr[custFieldVO.field_name + "_" + custFieldItem.field_item_name] = "V"; } } } //dr[custFieldVO.field_name] = custFieldSt; } } }
//匯出名單 protected void lbtnExport_Click(object sender, EventArgs e) { ACMS.DAO.ActivityRegistDAO regDao = new ACMS.DAO.ActivityRegistDAO(); DataTable dtUnReg; try { string activity_id = GridView1.DataKeys[((sender as LinkButton).NamingContainer as GridViewRow).RowIndex].Values[0].ToString(); string activity_type = GridView1.DataKeys[((sender as LinkButton).NamingContainer as GridViewRow).RowIndex].Values[1].ToString(); //找出未報名清單 dtUnReg = regDao.GetUnRegist(new Guid (activity_id)); //「匯出名單」的功能需帶出「報名編號(團隊編號)、部門、工號、姓名、分機、e-mail與額外填寫欄位」等欄位資訊 DataTable table = new DataTable(); ACMS.DAO.ActivityRegistDAO myActivityRegistDAO = new ACMS.DAO.ActivityRegistDAO(); table = myActivityRegistDAO.SelectEmployeesByID(new Guid(activity_id), activity_type); if (table.Rows.Count == 0 && dtUnReg.Rows.Count ==0) { clsMyObj.ShowMessage("沒有資料"); return; } DataTable dt = new DataTable(); dt.Columns.Add("報名編號", System.Type.GetType("System.String")); dt.Columns.Add("部門代號", System.Type.GetType("System.String")); dt.Columns.Add("部門", System.Type.GetType("System.String")); dt.Columns.Add("工號", System.Type.GetType("System.String")); dt.Columns.Add("姓名", System.Type.GetType("System.String")); dt.Columns.Add("分機", System.Type.GetType("System.String")); dt.Columns.Add("EMAIL", System.Type.GetType("System.String")); dt.Columns.Add("進度狀態", System.Type.GetType("System.String")); //================================================================= ACMS.DAO.CustomFieldValueDAO myCustFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO(); List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList; try { if (table.Rows[0]["activity_type"].ToString() == "2") { myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(new Guid(table.Rows[0]["id"].ToString()), table.Rows[0]["boss_id"].ToString()); dt.Columns.Add("隊名", System.Type.GetType("System.String")); dt.Columns.Add("隊長", System.Type.GetType("System.String")); } else { myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(new Guid(table.Rows[0]["id"].ToString()), table.Rows[0]["emp_id"].ToString()); } dt.Columns.Add("身份證_護照", System.Type.GetType("System.String")); ACMS.BO.CustomFieldItemBO myCustFieldItemBO = new ACMS.BO.CustomFieldItemBO(); List<ACMS.VO.CustomFieldItemVO> myFieldVOS; foreach (ACMS.VO.CustomFieldValueVO custFieldVO in myCustomFieldValueVOList) { if (custFieldVO.field_control.ToLower() == "textbox") { dt.Columns.Add(custFieldVO.field_name, System.Type.GetType("System.String")); } if (custFieldVO.field_control.ToLower() == "textboxlist") { myFieldVOS = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id); foreach (ACMS.VO.CustomFieldItemVO myFieldvo in myFieldVOS) { dt.Columns.Add(custFieldVO.field_name + '_' + myFieldvo.field_item_name, System.Type.GetType("System.Decimal")); } dt.Columns.Add(custFieldVO.field_name + "合計", System.Type.GetType("System.Decimal")); } if (custFieldVO.field_control.ToLower() == "radiobuttonlist") { // dt.Columns.Add(custFieldVO.field_name, System.Type.GetType("System.String")); myFieldVOS = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id); foreach (ACMS.VO.CustomFieldItemVO myFieldvo in myFieldVOS) { dt.Columns.Add(custFieldVO.field_name + '_' + myFieldvo.field_item_name, System.Type.GetType("System.String")); } } if (custFieldVO.field_control.ToLower() == "checkboxlist") { //dt.Columns.Add(custFieldVO.field_name, System.Type.GetType("System.String")); myFieldVOS = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id); foreach (ACMS.VO.CustomFieldItemVO myFieldvo in myFieldVOS) { dt.Columns.Add(custFieldVO.field_name + '_' + myFieldvo.field_item_name, System.Type.GetType("System.String")); } } } } catch { } // dt.Columns.Add("自訂欄位", System.Type.GetType("System.String")); string teamName = ""; int seqno = 0; int seqno1 = 0; DataRow dtDr; foreach (DataRow dr in table.Rows) { dtDr = dt.NewRow(); if (dr["activity_type"].ToString() == "2") { if (teamName != dr["boss_id"].ToString().Trim()) { seqno++; } if (seqno > int.Parse(dr["team_max"].ToString())) { if (teamName != dr["boss_id"].ToString().Trim()) { seqno1++; } } } else { seqno++; if (seqno > int.Parse(dr["team_max"].ToString())) { seqno1++; } } if (seqno1 > 0) { dtDr["報名編號"] = "備取:" + seqno1.ToString(); } else { dtDr["報名編號"] = "正取:" + seqno.ToString(); } dtDr["部門代號"] = dr["DEPT_ID"].ToString(); dtDr["部門"] = dr["C_DEPT_NAME"].ToString(); dtDr["工號"] = dr["WORK_ID"].ToString(); dtDr["姓名"] = dr["NATIVE_NAME"].ToString(); dtDr["分機"] = dr["OFFICE_PHONE"].ToString(); dtDr["EMAIL"] = dr["OFFICE_MAIL"].ToString(); dtDr["進度狀態"] = dr["check_status"].ToString(); dtDr["身份證_護照"] = dr["idno"].ToString(); if (dr["activity_type"].ToString() == "2") { if (dr["boss_id"].ToString() != teamName) { // dtDr["自訂欄位"] = GetCustomField(dr["id"].ToString(), dr["boss_id"].ToString()); GetCustomFieldNew(dr["id"].ToString(), dr["boss_id"].ToString(), ref dtDr); dtDr["隊名"] = dr["team_name"].ToString().Trim(); dtDr["隊長"] = dr["boss_id"].ToString().Trim(); } teamName = dr["boss_id"].ToString().Trim(); } else { // dtDr["自訂欄位"] = GetCustomField(dr["id"].ToString(), dr["emp_id"].ToString()); GetCustomFieldNew(dr["id"].ToString(), dr["emp_id"].ToString(), ref dtDr); } dt.Rows.Add(dtDr); } //加入未報名 if (dtUnReg.Rows.Count > 0) { foreach (DataRow dr2 in dtUnReg.Rows) { dtDr = dt.NewRow(); dtDr["部門代號"] = dr2["DEPT_ID"].ToString(); dtDr["部門"] = dr2["C_DEPT_NAME"].ToString(); dtDr["工號"] = dr2["WORK_ID"].ToString(); dtDr["姓名"] = dr2["NATIVE_NAME"].ToString(); dtDr["分機"] = dr2["OFFICE_PHONE"].ToString(); dtDr["EMAIL"] = dr2["OFFICE_MAIL"].ToString(); dtDr["進度狀態"] = "未報名"; dt.Rows.Add(dtDr); } } if ( table.Rows.Count > 0 || dtUnReg.Rows .Count >0) { table.Columns[0].ColumnName = "員工編號"; table.Columns[1].ColumnName = "員工姓名"; table.Columns[2].ColumnName = "員工部門"; // 產生 Excel 資料流。 //MemoryStream ms = DataTableRenderToExcel.RenderDataTableToExcel(table) as MemoryStream; MemoryStream ms = DataTableRenderToExcel.RenderDataTableToExcel(dt) as MemoryStream; // 設定強制下載標頭。 Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", Server.UrlEncode("RegistedList"))); // 輸出檔案。 Response.BinaryWrite(ms.ToArray()); ms.Close(); ms.Dispose(); } else { clsMyObj.ShowMessage("沒有資料!"); } } catch (Exception ex) { WriteErrorLog("ExportExcel", ex.Message, "0"); } }
//個人報名成功寄信 public static void RegistSuccess(string activity_id, string emp_id, string regist_by, string webPath, string path) { //andy ACMS.VO.ActivatyVO vo = new ACMS.VO.ActivatyVO(); ACMS.BO.ActivatyBO bo = new ACMS.BO.ActivatyBO(); string[] smtpto = System.Configuration.ConfigurationManager.AppSettings["SMTPTo"].Split(','); Guid id = new Guid(activity_id); vo = bo.SelectActivatyByActivatyID(id); MailMessage mail = new MailMessage(); //收件者 string mailtype = System.Configuration.ConfigurationManager.AppSettings["MailType"].ToLower(); EmployeeVO empVO = new EmployeeVO(); EMPloyeeDAO empDAO = new EMPloyeeDAO(); empVO = empDAO.getEmployee(emp_id); ACMS.BO.ActivityRegistBO regBO = new ACMS.BO.ActivityRegistBO(); ACMS.VO.ActivityRegistVO regVO = regBO.SelectActivityRegistByPK(id, emp_id); if ((string.Compare(mailtype, "online") != 0)) { foreach (string st1 in smtpto) { mail.To.Add(st1); } } else { mail.To.Add(empVO.OFFICE_MAIL); if (emp_id != regist_by) { empVO = empDAO.getEmployee(regist_by); mail.To.Add(empVO.OFFICE_MAIL); } } //取得附加檔案 ACMS.DAO.UpFilestDAO uDAO = new ACMS.DAO.UpFilestDAO(); List<ACMS.VO.UpFileVO> listUpfileVo = uDAO.SELECT(path + "\\" + activity_id); Attachment data; foreach (ACMS.VO.UpFileVO UFvo in listUpfileVo) { data = new Attachment(UFvo.path); mail.Attachments.Add(data); } mail.Subject = vo.activity_name + ":個人報名成功通知"; //寄件者 mail.From = new System.Net.Mail.MailAddress(System.Configuration.ConfigurationManager.AppSettings["SMTPFrom"], "報名系統通知"); mail.IsBodyHtml = true; ACMS.DAO.CustomFieldValueDAO myCustFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO(); List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList = myCustFieldValueDAO.SelectCustomFieldValue(id, emp_id); ACMS.BO.CustomFieldItemBO myCustFieldItemBO = new ACMS.BO.CustomFieldItemBO(); List<ACMS.VO.CustomFieldItemVO> custFieldItemList; string custFieldSt = ""; decimal ttl = 0; string[] FieldIDs; #region "自訂欄位" foreach (CustomFieldValueVO custFieldVO in myCustomFieldValueVOList) { if (custFieldVO.field_control.ToLower() == "textbox") { custFieldSt += "<tr><td>" + "<font color='Blue'><b>." + custFieldVO.field_name + ":</b></font><br/>" + "<font color='black'> " + custFieldVO.field_value.Trim() + "</font></td></tr>"; } if (custFieldVO.field_control.ToLower() == "textboxlist") { ttl = 0; custFieldSt += "<tr><td>" + "<font color='Blue'><b>." + custFieldVO.field_name + ":</b></font></td></tr>"; FieldIDs = custFieldVO.field_value.Split(','); custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id); custFieldSt += "<tr><td><table>"; foreach (string fieldID in FieldIDs) { foreach (CustomFieldItemVO custFieldItem in custFieldItemList) if (int.Parse(fieldID) == custFieldItem.field_item_id) { custFieldSt += "<tr><td>" + " " + "<font color='black'>" + custFieldItem.field_item_name + "</font></td><td><font color='black'>$" + custFieldItem.field_item_text + "</font></td></tr>"; ttl += decimal.Parse(custFieldItem.field_item_text); } } custFieldSt += "<tr><td>" + "" + "<font color='Red'> 合計:</font></td><td><font color='Red'>$" + ttl.ToString() + "</font></td></tr>"; custFieldSt += "</table></td></tr>"; } if (custFieldVO.field_control.ToLower() == "checkboxlist") { custFieldSt += "<tr><td>" + "<font color='Blue'><b>." + custFieldVO.field_name + ":</b></font></td></tr>"; FieldIDs = custFieldVO.field_value.Split(','); custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id); bool doIt = false; foreach (string fieldID in FieldIDs) { foreach (CustomFieldItemVO custFieldItem in custFieldItemList) if (int.Parse(fieldID) == custFieldItem.field_item_id) { if (!doIt) { custFieldSt += ""; } custFieldSt += "<tr><td><font color='black'> " + custFieldItem.field_item_name + custFieldItem.field_item_text + "</font></td></tr>"; doIt = true; } } //' custFieldSt = custFieldSt.Substring(0, custFieldSt.Length - 1); //custFieldSt += "<br/>"; } if (custFieldVO.field_control.ToLower() == "radiobuttonlist") { custFieldSt += "<tr><td>" + "<font color='Blue'><b>." + custFieldVO.field_name + "</b>:</font></td></tr>"; //custFieldSt += "" + "<font color='black'>" + custFieldVO.field_value + "</font>"; FieldIDs = custFieldVO.field_value.Split(','); custFieldItemList = myCustFieldItemBO.SelectByField_id(custFieldVO.field_id); foreach (string fieldID in FieldIDs) { foreach (CustomFieldItemVO custFieldItem in custFieldItemList) if (int.Parse(fieldID) == custFieldItem.field_item_id) { custFieldSt += "<tr><td> " + "<font color='black'>" + custFieldItem.field_item_name + custFieldItem.field_item_text + "</font></td></tr>"; } } // custFieldSt += "<br/>"; } } #endregion ACMS.VO.EmployeeVO regByEmpVO = empDAO.getEmployee(regist_by); empVO = empDAO.getEmployee(emp_id); if (custFieldSt != "")//有自訂欄位 { mail.Body = "<table border='1' width='400px'><tr><td style='background:#548DD4;Color:White' align='center' ><b>個人報名成功通知</b></td> </tr><tr><td style ='padding-right :50px;padding-left :50px'>" + "<table style='background:White;Color:Black'><tr><td> </td></tr><tr><td> </td></tr><tr><td>" + "<font color='Blue'><b>.姓名:</b></font><font color='black'>" + empVO.NATIVE_NAME + "</font></td></tr><tr><td>" + "" + "<font color='Blue'><b>.工號:</b></font><font color='black'>" + empVO.WORK_ID + "</font></td></tr><tr><td>" + "" + "<font color='Blue'><b>.活動名稱:</b></font><font color='black'>" + vo.activity_name + "</font></td></tr><tr><td>" + "" + "<font color='Blue'><b>.報名日期:</b></font><font color='black'>" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "</font></td></tr><tr><td>"; // + "" + "<font color='Blue'><b>.工號:</b></font>" + empVO.WORK_ID + "<br/>"; if (vo.is_showperson_fix2.ToString().ToUpper() == "Y") { mail.Body += "" + "<font color='Blue'><b>.攜眷人數:</b></font><font color='black'>" + regVO.ext_people.ToString() + "</td></tr><tr><td>"; } mail.Body += "" + "<font color='Blue'><b>" + @"------------------------------------------------------</b></font></td></tr><tr><td> </td></tr><tr><td>"; mail.Body += "" + "<font color='Blue'><b>以下為此次您報名登入資料,敬請確認:</b></font><br/></td></tr>"; mail.Body += "" + custFieldSt; //如果是他人代理報名,則顯示以下文字 if (regist_by != emp_id) { mail.Body += "<tr><td>" + "<font color='Blue'><b>.此活動由</b></font><font color='Black'><u>" + regByEmpVO.NATIVE_NAME + "</u></font><font color='Blue'><b>代理您完成報名</b></font></td></tr>"; } mail.Body += "<tr><td>" + "<font color='Blue'><b>.編號:</b></font><Font color='Red'>" + regBO.getSNByActivity(id, emp_id) + "<br/><br/></font></td></tr></table>" + "<tr><td align='center'> <a href='" + webPath + "?Type=1&ActID=" + HttpUtility.UrlEncode(activity_id) + "&RegID=" + HttpUtility.UrlEncode(regist_by) + "'>" + "報名系統連結</a></td></tr>" + "<tr><td style='background:#548DD4' align='center' > </td> </tr></table>"; } else { mail.Body = "<table border='1' width='400px'><tr><td style='background:#548DD4;Color:White' align='center' ><b>個人報名成功通知</b></td> </tr><tr><td style ='padding-right :50px;padding-left :50px'>" + "<table style='background:White;Color:Black'><tr><td> </td></tr><tr><td> </td></tr><tr><td>" + "<font color='Blue'><b>.姓名:</b></font><font color='black'>" + empVO.NATIVE_NAME + "</font></td></tr><tr><td>" + "" + "<font color='Blue'><b>.工號:</b></font><font color='black'>" + empVO.WORK_ID + "</font></td></tr><tr><td>" + "" + "<font color='Blue'><b>.活動名稱:</b></font><font color='black'>" + vo.activity_name + "</font></td></tr><tr><td>" + "" + "<font color='Blue'><b>.報名日期:</b></font><font color='black'>" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "</font></td></tr>"; // + "" + "<font color='Blue'><b>.工號:</b></font>" + empVO.WORK_ID + "<br/>"; if (vo.is_showperson_fix2.ToString().ToUpper() == "Y") { mail.Body += "<tr><td>" + "<font color='Blue'><b>.攜眷人數:</b></font><font color='black'>" + regVO.ext_people.ToString() + "</font></td></tr>"; } mail.Body += "<tr><td>" + "<font color='Blue'><b>" + @"--------------------------------------------</b></font></td></tr><tr><td> </td></tr><tr><td>"; mail.Body += "" + "<font color='Blue'><b>以下為此次您報名登入資料,敬請確認:</b></font><br/></td></tr>"; //如果是他人代理報名,則顯示以下文字 if (regist_by != emp_id) { mail.Body += "<tr><td>" + "<font color='Blue'><b>.此活動由</b></font><font color='Black'><u>" + regByEmpVO.NATIVE_NAME + "</u></font><font color='Blue'><b>代理您完成報名</b></font></td></tr>"; } mail.Body += "<tr><td>" + "<font color='Blue'><b>.編號:</b></font><Font color='Red'>" + regBO.getSNByActivity(id, emp_id) + "<br/><br/></font></td></tr></table>" + "<tr><td align='center'> <a href='" + webPath + "?Type=1&ActID=" + HttpUtility.UrlEncode(activity_id) + "&RegID=" + HttpUtility.UrlEncode(regist_by) + "'>" + "報名系統連結</a></td></tr>" + "<tr><td style='background:#548DD4' align='center' > </td> </tr></table>"; } SmtpClient smtp = new SmtpClient(System.Configuration.ConfigurationManager.AppSettings["SMTPServer"]); string emailAddr = ""; foreach (MailAddress ma in mail.To) { emailAddr += ma.Address + ","; } string ccAddr = ""; foreach (MailAddress ma1 in mail.CC) { ccAddr += ma1.Address + ","; } StringBuilder sb = new StringBuilder(); sb.AppendLine("Insert into MailItems( MailFrom, MailTo, MailServer, MailCC, MailSubject, MailBody, Status, Description) values( @MailFrom, @MailTo, @MailServer, @MailCC, @MailSubject, @MailBody, 0,'')"); SqlParameter[] sqlParams = new SqlParameter[6]; sqlParams[0] = new SqlParameter("@MailServer", SqlDbType.NVarChar); sqlParams[0].Value = System.Configuration.ConfigurationManager.AppSettings["SMTPServer"]; sqlParams[1] = new SqlParameter("@MailTo", SqlDbType.NVarChar); sqlParams[1].Value = emailAddr.TrimEnd(','); sqlParams[2] = new SqlParameter("@MailCC", SqlDbType.NVarChar); sqlParams[2].Value = ccAddr.TrimEnd(','); sqlParams[3] = new SqlParameter("@MailSubject", SqlDbType.NVarChar); sqlParams[3].Value = mail.Subject; sqlParams[4] = new SqlParameter("@MailBody", SqlDbType.NVarChar); sqlParams[4].Value = mail.Body; sqlParams[5] = new SqlParameter("@MailFrom", SqlDbType.NVarChar); sqlParams[5].Value = System.Configuration.ConfigurationManager.AppSettings["SMTPFrom"]; SqlConnection myConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString); SqlHelper.ExecuteNonQuery(myConn, CommandType.Text, sb.ToString(), sqlParams); try { // smtp.Send(mail); } catch (Exception ex) { LogMsg.Log(ex.Message, 5, false); } }
//編輯時載入自訂欄位資料 private void GetDynamicValue() { ACMS.DAO.CustomFieldValueDAO myCustomFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO(); List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList = myCustomFieldValueDAO.SelectCustomFieldValue(ActivityID, RegistBy); foreach (ACMS.VO.CustomFieldValueVO myCustomFieldValueVO in myCustomFieldValueVOList) { Session["ShowPanel"] = true; if (myCustomFieldValueVO.field_control.ToUpper() == "TEXTBOX") { TextBox MyControl = new TextBox(); MyControl.ID = string.Format("txt{0}", myCustomFieldValueVO.field_id); try { (PlaceHolder1.FindControl(MyControl.ID) as TextBox).Text = myCustomFieldValueVO.field_value; } catch { InitQueryBlock(ActivityID.ToString()); (PlaceHolder1.FindControl(MyControl.ID) as TextBox).Text = myCustomFieldValueVO.field_value; } } else if (myCustomFieldValueVO.field_control.ToUpper() == "TEXTBOXLIST") { TCheckBoxList MyControl = new TCheckBoxList(); MyControl.ID = string.Format("plh{0}", myCustomFieldValueVO.field_id); try { (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value; CheckBoxList1_SelectedIndexChanged((PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList), null); } catch { InitQueryBlock(ActivityID.ToString()); (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value; CheckBoxList1_SelectedIndexChanged((PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList), null); } } else if (myCustomFieldValueVO.field_control.ToUpper() == "CHECKBOXLIST") { TCheckBoxList MyControl = new TCheckBoxList(); MyControl.ID = string.Format("cbl{0}", myCustomFieldValueVO.field_id); try { (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value; } catch { InitQueryBlock(ActivityID.ToString()); (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value; } } else if (myCustomFieldValueVO.field_control.ToUpper() == "RADIOBUTTONLIST") { TRadioButtonList MyControl = new TRadioButtonList(); MyControl.ID = string.Format("radl{0}", myCustomFieldValueVO.field_id); try { (MyControl as TRadioButtonList).ClearSelection(); (PlaceHolder1.FindControl(MyControl.ID) as TRadioButtonList).SelectedValue = myCustomFieldValueVO.field_value; } catch { InitQueryBlock(ActivityID.ToString()); (MyControl as TRadioButtonList).ClearSelection(); (PlaceHolder1.FindControl(MyControl.ID) as TRadioButtonList).SelectedValue = myCustomFieldValueVO.field_value; } } } }
//人員切換之後指定EmpID protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { RadioButton RadioButton1 = sender as RadioButton; RadioButton1.Checked = true; GridView_RegisterPeoplinfo.SelectedIndex = (RadioButton1.NamingContainer as GridViewRow).RowIndex; EmpID = GridView_RegisterPeoplinfo.DataKeys[GridView_RegisterPeoplinfo.SelectedIndex].Value.ToString(); //載入個人資訊 //個人固定欄位 ObjectDataSource_fixA.SelectParameters["activity_id"].DefaultValue = ActivityID.ToString(); ObjectDataSource_fixA.SelectParameters["emp_id"].DefaultValue = EmpID; FormView_fixA.DataBind(); //載入動態欄位資料 ACMS.DAO.CustomFieldValueDAO myCustomFieldValueDAO = new ACMS.DAO.CustomFieldValueDAO(); List<ACMS.VO.CustomFieldValueVO> myCustomFieldValueVOList = myCustomFieldValueDAO.SelectCustomFieldValue(ActivityID, EmpID); foreach (ACMS.VO.CustomFieldValueVO myCustomFieldValueVO in myCustomFieldValueVOList) { if (myCustomFieldValueVO.field_control.ToUpper() == "TEXTBOX") { TextBox MyControl = new TextBox(); MyControl.ID = string.Format("txt{0}", myCustomFieldValueVO.field_id); (PlaceHolder1.FindControl(MyControl.ID) as TextBox).Text = myCustomFieldValueVO.field_value; } else if (myCustomFieldValueVO.field_control.ToUpper() == "TEXTBOXLIST") { TCheckBoxList MyControl = new TCheckBoxList(); MyControl.ID = string.Format("plh{0}", myCustomFieldValueVO.field_id); (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value; CheckBoxList1_SelectedIndexChanged((PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList), null); } else if (myCustomFieldValueVO.field_control.ToUpper() == "CHECKBOXLIST") { TCheckBoxList MyControl = new TCheckBoxList(); MyControl.ID = string.Format("cbl{0}", myCustomFieldValueVO.field_id); (PlaceHolder1.FindControl(MyControl.ID) as TCheckBoxList).SelectedValueList = myCustomFieldValueVO.field_value; } else if (myCustomFieldValueVO.field_control.ToUpper() == "RADIOBUTTONLIST") { TRadioButtonList MyControl = new TRadioButtonList(); MyControl.ID = string.Format("radl{0}", myCustomFieldValueVO.field_id); (MyControl as TRadioButtonList).ClearSelection(); (PlaceHolder1.FindControl(MyControl.ID) as TRadioButtonList).SelectedValue = myCustomFieldValueVO.field_value; } } }