Пример #1
0
        private void LoadBatchList()
        {
            lstList.SuspendLayout();
            lstList.Items.Clear();
            KeyValuePair <string, string> kvp;//= (KeyValuePair<string, string>)cboSchoolYear.SelectedItem;
            string schoolYear;

            if (cboSchoolYear.SelectedItem == null)
            {
                return;
            }
            else
            {
                kvp        = (KeyValuePair <string, string>)cboSchoolYear.SelectedItem;
                schoolYear = kvp.Key;
            }
            DSResponse  dsrsp  = QueryStudent.GetUpdateRecordBatchBySchoolYear(schoolYear);
            DSXmlHelper helper = dsrsp.GetContent();

            foreach (XmlNode node in helper.GetElements("UpdateRecordBatch"))
            {
                string name       = node.SelectSingleNode("Name").InnerText;
                string adn        = node.SelectSingleNode("ADNumber").InnerText;
                int    imageIndex = !string.IsNullOrEmpty(adn) ? 1 : 0;
                string id         = node.Attributes["ID"].Value;

                ListViewItem item = new ListViewItem(name, imageIndex);
                item.Tag = id;
                lstList.Items.Add(item);
            }

            lstList.ResumeLayout();
        }
Пример #2
0
        public List <XmlElement> GetExpectantList()
        {
            List <XmlElement> list = new List <XmlElement>();

            list.AddRange(QueryStudent.GetUpdateRecordByCode(_CodeList).GetContent().GetElements("UpdateRecord"));
            return(list);
        }
Пример #3
0
        public List <System.Xml.XmlElement> GetExpectantList()
        {
            List <XmlElement> list = new List <XmlElement>();

            foreach (XmlElement var in QueryStudent.GetUpdateRecordByCode(strCodeList).GetContent().GetElements("UpdateRecord"))
            {
                if (var.SelectSingleNode("GradeYear").InnerText != "延修生")
                {
                    list.Add(var);
                }
            }
            return(list);
        }
Пример #4
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            string id         = "";
            string batchName  = "";
            string schoolYear = "";
            string semester   = "";

            if (itmPanelLeft.SelectedItems.Count < 1)
            {
                return;
            }
            //if (lstList.FocusedItem == null)
            //    return;
            foreach (ButtonItem item in itmPanelLeft.SelectedItems)
            {
                if (item.Checked == true)
                {
                    id = item.Tag.ToString();
                }
            }


            if (id != "")
            {
                DSResponse dsrsp = QueryStudent.GetUpdateRecordBatch(id);

                DSXmlHelper helper = dsrsp.GetContent();

                //填上名冊的 學年、學期、名稱
                foreach (XmlNode node in helper.GetElements("UpdateRecordBatch"))
                {
                    schoolYear = node.SelectSingleNode("SchoolYear").InnerText;
                    semester   = node.SelectSingleNode("Semester").InnerText;
                    batchName  = node.SelectSingleNode("Name").InnerText;
                }

                if (MsgBox.Show("您確定刪除該名冊及其內容?", "確定", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    UpdateRecordBatch.DeleteBatch(id);

                    // log,2018/3/1 穎驊新增,因應高雄 [10-03][01] 整個學年度核准過的文號的異動名冊全部不見了 項目
                    // 本異動名冊 原只有新增會有系統紀錄,現在調整刪除、登打文號都會有紀錄
                    JHSchool.PermRecLogProcess prlp = new JHSchool.PermRecLogProcess();
                    string desc = "刪除" + schoolYear + "學年度,第" + semester + "學期," + batchName + "名冊";
                    prlp.SaveLog("教務.名冊", "刪除", desc);
                    Initialize();
                    LoadBatchList();
                }
            }
        }
Пример #5
0
        /// <summary>
        /// 初始化
        /// </summary>
        private void Initialize()
        {
            buttonX1.Visible  = false;
            buttonX2.Visible  = false;
            lblADName1.Text   = "";
            lblADName2.Text   = "";
            lblADName3.Text   = "";
            lblADInfo.Text    = "";
            lblADCounter.Text = "";
            lblADName3.Text   = "";
            // 還不能用的控制項 disabled
            btnDelete.Enabled   = false;
            btnAD.Enabled       = false;
            lblListContent.Text = "";
            lblAD.Text          = "";
            listView.Clear();
            // 載入現有名冊中的學年度清單
            DSResponse  dsrsp  = QueryStudent.GetSchoolYearList();
            DSXmlHelper helper = dsrsp.GetContent();

            cboSchoolYear.SelectedItem = null;
            cboSchoolYear.Items.Clear();
            foreach (XmlNode node in helper.GetElements("SchoolYear"))
            {
                string year       = node.InnerText;
                string schoolYear = year + " 學年度";
                KeyValuePair <string, string> kvp = new KeyValuePair <string, string>(year, schoolYear);
                cboSchoolYear.Items.Add(kvp);
            }
            cboSchoolYear.DisplayMember = "Value";
            cboSchoolYear.ValueMember   = "Key";

            // 預選為當學年度
            int selectedIndex = 0;

            if (cboSchoolYear.Items.Count > 0)
            {
                for (int i = 0; i < cboSchoolYear.Items.Count; i++)
                {
                    KeyValuePair <string, string> kvp = (KeyValuePair <string, string>)cboSchoolYear.Items[i];
                    if (kvp.Key == CurrentUser.Instance.SchoolYear.ToString())
                    {
                        selectedIndex = i;
                        break;
                    }
                }
                cboSchoolYear.SelectedIndex = selectedIndex;
            }
        }
Пример #6
0
        private void ValidateLoginID()
        {
            _errors.SetError(txtLoginID, string.Empty);

            if (string.IsNullOrEmpty(txtLoginID.Text))
            {
                _errors.SetError(txtLoginID, string.Empty);
                return;
            }

            if (QueryStudent.LoginIDExists(txtLoginID.Text, PrimaryKey))
            {
                _errors.SetError(txtLoginID, "帳號重覆,請重新選擇。");
            }
        }
Пример #7
0
        // 檢查
        private void ValidateIDNumber()
        {
            _errors.SetError(txtSSN, string.Empty);

            if (string.IsNullOrEmpty(txtSSN.Text))
            {
                _errors.SetError(txtSSN, string.Empty);
                return;
            }

            if (QueryStudent.IDNumberExists(PrimaryKey, txtSSN.Text))
            {
                _errors.SetError(txtSSN, "身分證號重覆,請確認資料。");
            }
        }
Пример #8
0
        private void LoadBatchList()
        {
            KeyValuePair <string, string> kvp;

            itmPanelLeft.SuspendLayout();
            itmPanelLeft.Items.Clear();

            string schoolYear;

            if (cboSchoolYear.SelectedItem == null)
            {
                return;
            }
            else
            {
                kvp        = (KeyValuePair <string, string>)cboSchoolYear.SelectedItem;
                schoolYear = kvp.Key;
            }
            DSResponse  dsrsp  = QueryStudent.GetUpdateRecordBatchBySchoolYear(schoolYear);
            DSXmlHelper helper = dsrsp.GetContent();

            foreach (XmlNode node in helper.GetElements("UpdateRecordBatch"))
            {
                string name       = node.SelectSingleNode("Name").InnerText;
                string adn        = node.SelectSingleNode("ADNumber").InnerText;
                int    imageIndex = !string.IsNullOrEmpty(adn) ? 1 : 0;
                string id         = node.Attributes["ID"].Value;

                ButtonItem btnItem = new ButtonItem();
                btnItem.Tag         = id;
                btnItem.Name        = id + name;
                btnItem.Text        = name;
                btnItem.OptionGroup = "itmPanelLeftItem";
                btnItem.ImageIndex  = imageIndex;
                btnItem.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText;
                btnItem.Click      += new EventHandler(btnItem_Click);
                itmPanelLeft.Items.Add(btnItem);


                //ListViewItem item = new ListViewItem(name, imageIndex);
                //item.Tag = id;
                //lstList.Items.Add(item);
            }

            itmPanelLeft.ResumeLayout();
            itmPanelLeft.Refresh();
            //lstList.ResumeLayout();
        }
Пример #9
0
        private void ValidateStudentNumber()
        {
            if (string.IsNullOrEmpty(txtStudentID.Text))
            {
                _errors.SetError(txtStudentID, string.Empty);
                return; //空白不檢查。
            }

            if (QueryStudent.StudentNumberExists(RunningID, txtStudentID.Text))
            {
                _errors.SetError(txtStudentID, "學號重覆,請確認資料。");
            }
            else
            {
                _errors.SetError(txtStudentID, string.Empty);
            }
        }
Пример #10
0
        public void SetUpdateValue(string updateRecordId)
        {
            _Action         = UpdateRecordAction.Update;
            _UpdateRecordID = updateRecordId;

            //DSResponse dsrsp = SmartSchool.Feature.QueryStudent.GetUpdateRecord(updateRecordId);
            DSResponse dsrsp   = QueryStudent.GetUpdateRecord(updateRecordId);
            XmlElement element = dsrsp.GetContent().GetElement("UpdateRecord");

            foreach (XmlNode node in element.ChildNodes)
            {
                if (node.Name != "ContextInfo")
                {
                    if (node.Name == "UpdateCode")
                    {
                        _UpdateCodeLoadedEvent.WaitOne();
                        foreach (UpdateRecordType type in new UpdateRecordType[] { UpdateRecordType.新生異動, UpdateRecordType.轉入異動, UpdateRecordType.學籍異動, UpdateRecordType.畢業異動 })
                        {
                            if (_UpdateCodeSynopsis.ContainsKey(type.ToString()) && _UpdateCodeSynopsis[type.ToString()].ContainsKey(node.InnerText))
                            {
                                Style = type;
                                break;
                            }
                        }
                        NewData.ChangeNewDataText(node.InnerText);
                    }
                    this.SetValue(node.Name, node.InnerText);
                }
                else
                {
                    if (node.SelectSingleNode("ContextInfo") != null)
                    {
                        foreach (XmlNode contextInfo in node.SelectSingleNode("ContextInfo").ChildNodes)
                        {
                            this.SetValue(contextInfo.Name, contextInfo.InnerText);
                        }
                    }
                }
            }

            //Log,紀錄修改前的資料
            foreach (XmlNode node in GetElement().ChildNodes)
            {
                beforeData.Add(node.Name, node.InnerText);
            }
        }
Пример #11
0
        public override bool Fill()
        {
            SubProgress progress = new SubProgress(MainProgress, WeightTable.GetJobWeight("GetStudentData"));

            try
            {
                Utility.StartTime("GetStudentData");
                progress.ReportMessage("取得學生資料…");

                int offset = 1;
                foreach (string eachYear in Parameters.TargetGradeYears)
                {
                    if (MainProgress.Cancellation) //這個部份必須要看的是 MainProgress。
                    {
                        return(false);
                    }

                    DSXmlHelper response = QueryStudent.GetAbstractList(eachYear);

                    foreach (XmlElement eachStudent in response.GetElements("Student"))
                    {
                        Students.AddStudent(new RankStudent(eachStudent));
                    }

                    progress.ReportProgress((int)(((float)offset / Parameters.TargetGradeYears.Count) * 100));

                    offset++;
                }

                progress.ReportProgress(100);
                Utility.EndTime("GetStudentData");
                return(true);
            }
            catch (Exception ex)
            {
                progress.ReportException(ex);
                return(false);
            }
        }
Пример #12
0
        private void lstList_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lstList.SelectedItems.Count > 0)
            {
                btnDelete.Enabled = true;
                btnAD.Enabled     = true;

                ListViewItem item  = lstList.SelectedItems[0];
                string       id    = item.Tag.ToString();
                DSResponse   dsrsp = QueryStudent.GetUpdateRecordBatch(id);

                listView.SuspendLayout();
                if (dsrsp.HasContent)
                {
                    DSXmlHelper helper = dsrsp.GetContent();
                    provider = new SummaryProvider(helper);

                    lblADCounter.Text = "【" + provider.Title + "】 各科人數統計";
                    lblADInfo.Text    = "【" + provider.Title + "】 核准文號";
                    buttonX1.Visible  = true;
                    buttonX2.Visible  = true;

                    XmlNode contentNode = helper.GetElement("UpdateRecordBatch/Content");
                    if (contentNode == null)
                    {
                        return;
                    }
                    source = (XmlElement)contentNode.FirstChild;

                    //處理看板資訊
                    StringBuilder builder = new StringBuilder("");
                    foreach (Department dept in provider.GetDepartments())
                    {
                        builder = builder.Append("◎").Append(dept.Name).Append(" ")
                                  .Append("男生 <font color='blue'>").Append(dept.Male).Append("</font> 人 ")
                                  .Append("女生 <font color='blue'>").Append(dept.Female).Append("</font> 人 ")
                                  .Append("(合計 <font color='blue'>").Append(dept.Total).Append("</font> 人)");

                        if (dept.Unknow > 0)
                        {
                            builder = builder.Append("<font color='red'>").Append(dept.Unknow)
                                      .Append("</font>人未填性別");
                        }
                        builder = builder.Append("<br/>");
                    }
                    lblListContent.Text = builder.ToString();
                    lblADName1.Text     = provider.Title;
                    lblADName2.Text     = provider.Title;
                    lblADName3.Text     = provider.Title;

                    // 處理核准日期與文號
                    string adString = "";
                    if (!string.IsNullOrEmpty(provider.ADNumber))
                    {
                        adString += "核准文號 <font color='red'>" + provider.ADNumber + "</font> ";
                        adString += "核准日期 <font color='red'>" + provider.ADDate + "</font>";
                    }
                    else
                    {
                        adString = "<font color='red'>未登錄</font>";
                    }
                    lblAD.Text = adString;

                    //處理ListView呈現資料
                    listView.Clear();

                    foreach (IEntryFormat format in provider.GetEntities())
                    {
                        // 若無群組則先加上群組
                        if (listView.Groups[format.Group] == null)
                        {
                            listView.Groups.Add(format.Group, format.Group);
                        }

                        // 若沒有欄名則先加上欄名
                        if (listView.Columns.Count == 0)
                        {
                            foreach (string column in format.DisplayColumns.Keys)
                            {
                                listView.Columns.Add(column, format.DisplayColumns[column].Width);
                            }
                        }

                        // 欄位都有了則依據欄位填入其屬性值
                        ListViewItem rowItem = null;
                        for (int i = 0; i < listView.Columns.Count; i++)
                        {
                            string columnName = listView.Columns[i].Text;
                            string value      = format.DisplayColumns[columnName].Value;
                            if (i == 0)
                            {
                                rowItem = new ListViewItem(value);
                            }
                            else
                            {
                                rowItem.SubItems.Add(value);
                            }
                        }
                        rowItem.Tag   = format;
                        rowItem.Group = listView.Groups[format.Group];
                        listView.Items.Add(rowItem);
                    }
                }
                listView.ResumeLayout();
            }
            else
            {
                btnDelete.Enabled = false;
                btnAD.Enabled     = false;
            }

            this.itemPanel1.RecalcLayout();
            //this.itemPanel1.Refresh();
        }
Пример #13
0
 protected override object OnBackgroundWorkerWorking()
 {
     return(QueryStudent.GetUpdateInfoList(RunningID).GetContent());
 }
Пример #14
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtNumber.Text))
            {
                MsgBox.Show("請輸入核準文號。");
                return;
            }

            DateTime date;

            if (!DateTime.TryParse(dtpDate.DateString, out date))
            {
                MsgBox.Show("日期格式不正確。");
                return;
            }

            // 修改名冊本身的日期與文號
            DSXmlHelper helper = new DSXmlHelper("AuthorizeBatchRequest");

            helper.AddElement("AuthorizeBatch");
            helper.AddElement("AuthorizeBatch", "Field");
            helper.AddElement("AuthorizeBatch/Field", "ADNumber", txtNumber.Text);
            helper.AddElement("AuthorizeBatch/Field", "ADDate", dtpDate.DateString);
            helper.AddElement("AuthorizeBatch", "Condition");
            helper.AddElement("AuthorizeBatch/Condition", "ID", _provider.ID);

            try
            {
                EditStudent.ModifyUpdateRecordBatch(new DSRequest(helper));
            }
            catch (Exception ex)
            {
                MsgBox.Show("編輯核准文號失敗:" + ex);
            }

            // 修改其包含的異動紀錄文號
            helper = new DSXmlHelper("UpdateRequest");
            helper.AddElement("UpdateRecord");
            helper.AddElement("UpdateRecord", "Field");
            helper.AddElement("UpdateRecord/Field", "ADNumber", txtNumber.Text);
            helper.AddElement("UpdateRecord/Field", "ADDate", dtpDate.DateString);
            helper.AddElement("UpdateRecord", "Condition");

            if (_provider.GetEntities().Length <= 0) //名冊中沒有任何學生,就不更新學生的核準文號了。
            {
                return;
            }

            foreach (IEntryFormat entity in _provider.GetEntities())
            {
                helper.AddElement("UpdateRecord/Condition", "ID", entity.ID);
            }

            try
            {
                EditStudent.ModifyUpdateRecord(new DSRequest(helper));
                if (DataSaved != null)
                {
                    DataSaved(this, null);
                }
            }
            catch (Exception ex)
            {
                MsgBox.Show("編輯核准文號失敗:" + ex);
            }


            string batchName  = "";
            string schoolYear = "";
            string semester   = "";

            if (_provider.ID != "")
            {
                DSResponse dsrsp = QueryStudent.GetUpdateRecordBatch(_provider.ID);

                DSXmlHelper helper_ = dsrsp.GetContent();

                //填上名冊的 學年、學期、名稱
                foreach (XmlNode node in helper_.GetElements("UpdateRecordBatch"))
                {
                    schoolYear = node.SelectSingleNode("SchoolYear").InnerText;
                    semester   = node.SelectSingleNode("Semester").InnerText;
                    batchName  = node.SelectSingleNode("Name").InnerText;
                }
                // log,2018/3/1 穎驊新增,因應高雄 [10-03][01] 整個學年度核准過的文號的異動名冊全部不見了 項目
                // 本異動名冊 原只有新增會有系統紀錄,現在調整刪除、登打文號都會有紀錄
                JHSchool.PermRecLogProcess prlp = new JHSchool.PermRecLogProcess();
                string desc = "登錄文號" + schoolYear + "學年度,第" + semester + "學期," + batchName + "名冊,日期:" + dtpDate.DateString + ",文號:" + txtNumber.Text;
                prlp.SaveLog("教務.名冊", "登錄文號", desc);
            }



            this.Close();
        }
Пример #15
0
        public ExportTable Export()
        {
            // 取得縣市對照表
            XmlElement schoolLocationList = Config.GetSchoolLocationList().GetContent().BaseElement;

            // 取得匯出規則描述
            XmlElement        descElement      = StudentBulkProcess.GetExportDescription();
            IFieldFormater    fieldFormater    = new BaseFieldFormater();
            IResponseFormater responseFormater = new ResponseFormater();

            FieldCollection       fieldCollection = fieldFormater.Format(descElement);
            ExportFieldCollection exportFields    = responseFormater.Format(descElement);



            fieldCollection = FieldUtil.Match(fieldCollection, _selectFields);
            exportFields    = FieldUtil.Match(exportFields, _selectFields);

            //// 有選狀態時加入
            //if (_selectFields.FindByDisplayText("狀態") != null)
            //{
            //    fieldCollection.Add(_selectFields.FindByDisplayText("狀態"));
            //    ExportField ex = new ExportField();
            //    ex.DisplayText = "狀態";
            //    ex.RequestName = "StudentStatus";
            //    ex.ColumnIndex = exportFields.Length;
            //    ex.DataType = "";
            //    ex.XPath = "";
            //    exportFields.Add(ex);

            //}


            IRequestGenerator reqGenerator = new ExportStudentRequestGenerator();

            _selectFieldsID = new FieldCollection();
            foreach (Field fd in _selectFields)
            {
                _selectFieldsID.Add(fd);
            }

            if (_selectFieldsID.Find("StudentID") == null)
            {
                Field fd1 = new Field();
                fd1.FieldName   = "StudentID";
                fd1.DisplayText = "學生系統編號";
                _selectFieldsID.Add(fd1);
            }
            reqGenerator.SetSelectedFields(_selectFieldsID);

            // 預設找-1, 不然會傳回所有學生
            ICondition condition = new BaseCondition("ID", "-1");

            reqGenerator.AddCondition(condition);
            foreach (string id in _conditions)
            {
                ICondition condition2 = new BaseCondition("ID", id);
                reqGenerator.AddCondition(condition2);
            }

            reqGenerator.AddOrder(new Order("GradeYear"));
            reqGenerator.AddOrder(new Order("Department"));
            reqGenerator.AddOrder(new Order("RefClassID"));
            reqGenerator.AddOrder(new Order("SeatNo"));

            DSRequest  request  = reqGenerator.Generate();
            DSResponse response = QueryStudent.GetExportList(request);

            ExportTable table = new ExportTable();



            foreach (ExportField field in exportFields)
            {
                table.AddColumn(field);
            }

            //// 取得學生狀態
            //Dictionary<string, string> StudStatusDic = new Dictionary<string, string>();
            //foreach (JHSchool.Data.JHStudentRecord stud in JHSchool.Data.JHStudent.SelectByIDs(K12.Presentation.NLDPanels.Student.SelectedSource ))
            //    StudStatusDic.Add(stud.ID, stud.Status.ToString());

            foreach (XmlElement record in response.GetContent().GetElements("Student"))
            {
                ExportRow row = table.AddRow();
                foreach (ExportField column in table.Columns)
                {
                    int        columnIndex = column.ColumnIndex;
                    ExportCell cell        = row.Cells[columnIndex];

                    XmlNode cellNode = record.SelectSingleNode(column.XPath);

                    //if(column.DisplayText !="狀態")
                    //    cellNode = record.SelectSingleNode(column.XPath);
                    // CustodianOtherInfo/CustodianOtherInfo[1]/EducationDegree[1]

                    #region 這段程式是處理匯入/匯出程式不一致問題
                    if (column.XPath.StartsWith("CustodianOtherInfo/Custodian"))
                    {
                        if (cellNode == null)
                        {
                            string x = column.XPath.Replace("CustodianOtherInfo/Custodian", "CustodianOtherInfo/CustodianOtherInfo");
                            cellNode = record.SelectSingleNode(x);
                            if (cellNode == null)
                            {
                                x        = column.XPath.Replace("CustodianOtherInfo/CustodianOtherInfo", "CustodianOtherInfo/Custodian");
                                cellNode = record.SelectSingleNode(x);
                            }
                        }
                    }
                    if (column.XPath.StartsWith("FatherOtherInfo/Father"))
                    {
                        if (cellNode == null)
                        {
                            string x = column.XPath.Replace("FatherOtherInfo/Father", "FatherOtherInfo/FatherOtherInfo");
                            cellNode = record.SelectSingleNode(x);
                            if (cellNode == null)
                            {
                                x        = column.XPath.Replace("FatherOtherInfo/FatherOtherInfo", "FatherOtherInfo/Father");
                                cellNode = record.SelectSingleNode(x);
                            }
                        }
                    }
                    if (column.XPath.StartsWith("MotherOtherInfo/Mother"))
                    {
                        if (cellNode == null)
                        {
                            string x = column.XPath.Replace("MotherOtherInfo/Mother", "MotherOtherInfo/MotherOtherInfo");
                            cellNode = record.SelectSingleNode(x);
                            if (cellNode == null)
                            {
                                x        = column.XPath.Replace("MotherOtherInfo/MotherOtherInfo", "MotherOtherInfo/Mother");
                                cellNode = record.SelectSingleNode(x);
                            }
                        }
                    }
                    #endregion

                    if (cellNode != null)
                    {
                        if (column.FieldName == "GraduateSchoolLocationCode")
                        {
                            cell.Value = GetCounty(schoolLocationList, cellNode.InnerText);
                        }
                        else if (column.FieldName == "DeptName") //處理科別繼承問題。
                        {
                            //這個欄位的資料一定會被回傳,因為設定了 Mandatory 屬性。
                            XmlNode selfDept = record.SelectSingleNode("SelfDeptName");
                            if (string.IsNullOrEmpty(selfDept.InnerText))
                            {
                                cell.Value = cellNode.InnerText;
                            }
                            else
                            {
                                cell.Value = selfDept.InnerText;
                            }
                        }
                        else if (column.FieldName == "Status")
                        {
                            cell.Value = GetStudStatusStr(cellNode.InnerText);
                        }
                        else
                        {
                            cell.Value = cellNode.InnerText;
                        }
                    }

                    //if (column.DisplayText == "狀態")//record.SelectSingleNode("StudentID")!=null )
                    //{
                    //    // 學生狀態
                    //    if (StudStatusDic.ContainsKey(record.SelectSingleNode("StudentID").InnerText))
                    //        cell.Value = StudStatusDic[record.SelectSingleNode("StudentID").InnerText];
                    //}
                }
            }
            return(table);
        }