/// <summary> /// 根據DB資料創建面談資料TabPages /// </summary> /// <param name="dt"></param> private void CreateInterviewPages(DataTable dt) { ////在聯繫狀況儲存完,更新頁面時,不要影響面談資料 if (tabControl1.TabCount > 1) { return; } if (dt.Rows.Count == 0) { //this.tabControl1.TabPages.Add("+"); return; } foreach (DataRow dr in dt.Rows) { InterviewId.Add(dr[0].ToString()); TabPage tabPage = new TabPage { Text = "面談資料" + tabControl1.TabCount, Name = "Interview" + tabControl1.TabCount, AutoScroll = true, }; InterviewDataControl newInterview = new InterviewDataControl(dr[0].ToString(), Contact_Id); newInterview.BtnClick += DelInterview_BtnClick; newInterview.ConfirmBtnClick += UpdateTime_ConfirmBtnClick; tabControl1.TabPages.Add(tabPage); tabPage.Controls.Add(newInterview); } //this.tabControl1.TabPages.Add("+"); }
/// <summary> /// 新增一個面談資料頁面TabPage /// </summary> private void NewInterviewPage() { TabPage tabPage = new TabPage { Text = "面談資料" + tabControl1.TabCount, Name = "Interview" + tabControl1.TabCount, AutoScroll = true }; InterviewDataControl newInterview = new InterviewDataControl(); newInterview.BtnClick += DelInterview_BtnClick; newInterview.ConfirmBtnClick += UpdateTime_ConfirmBtnClick; newInterview.SetInfo(NameTxt.Text, SexCombo.SelectedItem.ToString(), MailTxt.Text, PhoneTxt.Text, Contact_Id); tabControl1.TabPages.Add(tabPage); tabPage.Controls.Add(newInterview); }
private void ImportLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (tabControl1.SelectedIndex == 0) { return; } DialogResult result = MessageBox.Show("將會覆蓋此面談資料,是否繼續?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result != DialogResult.Yes) { return; } OpenFileDialog ofd = new OpenFileDialog { Title = "請選擇欲上傳的面談資料Excel", Filter = @"Excel Files|*.xlsx", Multiselect = false, RestoreDirectory = true }; if (ofd.ShowDialog() == DialogResult.OK) { InterviewDataControl interviewDataControl = new InterviewDataControl(); TabPage tabPage = tabControl1.TabPages["Interview" + tabControl1.SelectedIndex]; foreach (Control c in tabPage.Controls) { if (c is InterviewDataControl) { interviewDataControl = (InterviewDataControl)c; interviewDataControl.GetdataByExcel(ofd.FileName); break; } } } }
/// <summary> /// 再切換頁面時,如果有改動的資料尚未儲存,則跳出警告 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) { if (this.Page != 0) { ////面談資料頁面間轉換要檢查是否有存檔 InterviewDataControl interviewDataControl = new InterviewDataControl(); TabPage tabPage = tabControl1.TabPages["Interview" + Page]; foreach (Control c in tabPage.Controls) { if (c is InterviewDataControl) { interviewDataControl = (InterviewDataControl)c; interviewDataControl.InterviewPageChange(e); break; } } return; } ////如果聯繫ID等於空則代表沒有此聯繫基本資料 if (Contact_Id == string.Empty) { MessageBox.Show("沒有填寫聯繫資料", "警告"); e.Cancel = true; return; } ////UI聯繫基本資料 ContactInfo infoUI = new ContactInfo { Name = NameTxt.Text.Trim(), Mail = MailTxt.Text.Trim(), CellPhone = PhoneTxt.Text.Trim(), Cooperation_Mode = CooperationCombo.SelectedItem.ToString().Trim().Equals("--請選擇--") ? string.Empty : CooperationCombo.SelectedItem.ToString().Trim(), Place = PlaceTxt.Text.Trim(), Skill = SkillTxt.Text.Trim(), Sex = (SexCombo.SelectedItem.ToString().Equals("--請選擇--")) ? string.Empty : SexCombo.SelectedItem.ToString().Trim(), Status = (StatusCombo.SelectedItem.ToString().Equals("--請選擇--")) ? string.Empty : StatusCombo.SelectedItem.ToString().Trim(), Year = YearTxt.Text }; ////DB聯繫基本資料 List <ContactInfo> infoDB = ContactInfoDB.DataTableToList <ContactInfo>(); ////比對是否一樣 var isdifference = (from DB in infoDB where DB.Name.Trim() == infoUI.Name && DB.Mail.Trim() == infoUI.Mail && DB.CellPhone.Trim() == infoUI.CellPhone && DB.Cooperation_Mode.Trim() == infoUI.Cooperation_Mode && DB.Place.Trim() == infoUI.Place && DB.Skill.Trim() == infoUI.Skill && DB.Sex.Trim() == infoUI.Sex && DB.Status.Trim() == infoUI.Status && DB.Year.Trim() == infoUI.Year select DB).ToList(); ////UI代碼資料 List <string> codeUIList = new List <string>(); if (CodeTxt.Count == 1 && CodeTxt[0].Text == string.Empty) { } else { foreach (TextBox code in CodeTxt) { codeUIList.Add(code.Text); } } ////DB代碼資料 List <string> codeDBList = new List <string>(); foreach (DataRow dr in CodeDB.Rows) { codeDBList.Add(dr[0].ToString()); } ////UI聯繫狀況資料 string ContactStatusUIList = JsonConvert.SerializeObject(ContactStatusUI, Formatting.Indented); ////UI聯繫狀況資料 string ContactStatusDBList = JsonConvert.SerializeObject(ContactStatusDB, Formatting.Indented); if (isdifference.Count == 0 || !codeDBList.SequenceEqual(codeUIList) || !ContactStatusUIList.Equals(ContactStatusDBList)) { DialogResult result = MessageBox.Show("資料尚未儲存,您確定要離開嗎?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.No) { e.Cancel = true; } return; } }