/** 以上為各控制項內置的方法 **/ /** 以下為個控制項運作時,將會呼叫使用的方法 **/ // 隨使用者所選學期,刷新所有資料表格的方法 private void SemesterChanged(int Batch) { // 取得該期教師資料 DataTable PF_dataTable = new DataTable(); string PF_queryString = "SELECT * FROM [Teacher] , [ExamPoint_Log] WHERE Batch = " + Batch + ";"; Getdata(PF_dataTable, PF_queryString); Teacher_GV.DataSource = PF_dataTable; Teacher_GV.DataBind(); // 取得該期研究生資料 及 資料轉換功能(教師編號轉換姓名) string ST_queryString = "SELECT ID, Name, Ch_Title, First_Prof, First_Commit, Second_Commit, Third_Commit FROM [Student] WHERE Batch = " + Batch + ";"; Getdata(ST_dataTable, ST_queryString); Transform(Student_GV, ST_dataTable, 3, 6); }
//當使用者變更下拉式選單內所選的期別時,觸發此方法 protected void Batch_DDL_SelectedIndexChanged(object sender, EventArgs e) { //接收自控制項傳入的資料, //以讓多個控制項共用同一方法,達成精簡程式碼的目的 Selected_Batch_DDL = (DropDownList)sender; Batch_DDL.DataBind(); Batch_DDL.SelectedValue = Selected_Batch_DDL.SelectedValue; int Batch = int.Parse(Selected_Batch_DDL.SelectedValue); //根據使用者所選期別,自資料表內調出資料 //調出學生資料 Student_SDS_ForGV.SelectCommand = "SELECT Student.ID, Name, Ch_Title, First_Commit, Second_Commit, Third_Commit, First_Prof FROM Student WHERE Batch = " + Batch + ";"; //調出教師資料 Teacher_SDS_ForGV.SelectCommand = "SELECT * FROM [Teacher] , [ExamPoint_Log] WHERE Batch = " + Batch + ";"; //刷新頁面中四個Grid_View控制項,以更新顯示內容 Student_GV.DataBind(); Teacher_GV.DataBind(); //計算Student_GV共有幾列資料 int ST_DataRow = Student_GV.Rows.Count; //將指導教師及三名審查委員之資料(教師編號)替換為相對應的教師姓名 int Row_Count = 0; int Col_Count; string Data_Value; // while (Row_Count < ST_DataRow) { for (Col_Count = 6; Col_Count <= 8; Col_Count++) { Data_Value = Student_GV.Rows[Row_Count].Cells[Col_Count].ToString(); //Student_GV.Rows[Row_Count].Cells[Col_Count] = ; } Row_Count++; } }