Exemple #1
0
        void _dgv_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            _asc = !_asc;
            DataGridViewColumn column  = _dgv.Columns[e.ColumnIndex];
            ColumnSetting      setting = column.Tag as ColumnSetting;

            if (setting != null)
            {
                IDataGridViewComparer comparer = setting.Comparer;
                comparer.Initialize(_asc, e.ColumnIndex);
                _dgv.Sort(comparer);
                return;
            }
        }
Exemple #2
0
        public override void Save()
        {
            // 產生新增成績 Request
            int insertStudentCount = 0;
            int updateStudentCount = 0;
            int deleteStudentCount = 0;
            int usCount            = 0;

            DSXmlHelper insertHelper = new DSXmlHelper("Request");
            DSXmlHelper updateHelper = new DSXmlHelper("Request");
            DSXmlHelper deleteHelper = new DSXmlHelper("Request");
            DSXmlHelper usHelper     = new DSXmlHelper("Request");

            insertHelper.AddElement("ScoreSheetList");
            updateHelper.AddElement("ScoreSheetList");
            deleteHelper.AddElement("ScoreSheet");

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                string attendid = row.Tag.ToString();

                foreach (DataGridViewCell cell in row.Cells)
                {
                    IExamCell ic = cell.Tag as IExamCell;
                    if (ic == null)
                    {
                        continue;
                    }
                    ColumnSetting setting = dataGridView1.Columns[cell.ColumnIndex].Tag as ColumnSetting;
                    string        examid  = setting.Key;
                    if (ic is ScoreExamCell && ic.IsDirty)
                    {
                        usCount++;
                        usHelper.AddElement("Attend");
                        usHelper.AddElement("Attend", "Score", ic.GetValue());
                        usHelper.AddElement("Attend", "ID", attendid);
                    }
                    else if (string.IsNullOrEmpty(ic.Key) && ic.IsDirty)
                    {
                        insertStudentCount++;
                        insertHelper.AddElement("ScoreSheetList", "ScoreSheet");
                        insertHelper.AddElement("ScoreSheetList/ScoreSheet", "ExamID", examid);
                        insertHelper.AddElement("ScoreSheetList/ScoreSheet", "AttendID", attendid);
                        insertHelper.AddElement("ScoreSheetList/ScoreSheet", "Score", ic.GetValue());
                    }
                    else if (!string.IsNullOrEmpty(ic.Key) && ic.IsDirty && !string.IsNullOrEmpty(ic.GetValue()))
                    {
                        updateStudentCount++;
                        updateHelper.AddElement("ScoreSheetList", "ScoreSheet");
                        updateHelper.AddElement("ScoreSheetList/ScoreSheet", "Score", ic.GetValue());
                        updateHelper.AddElement("ScoreSheetList/ScoreSheet", "ID", ic.Key);
                    }
                    else if (!string.IsNullOrEmpty(ic.Key) && ic.IsDirty && string.IsNullOrEmpty(ic.GetValue()))
                    {
                        deleteStudentCount++;
                        deleteHelper.AddElement("ScoreSheet", "ID", ic.Key);
                    }
                }
            }

            if (insertStudentCount > 0)
            {
                EditCourse.InsertSCEScore(new DSRequest(insertHelper));
            }
            if (updateStudentCount > 0)
            {
                EditCourse.UpdateSCEScore(new DSRequest(updateHelper));
            }
            if (deleteStudentCount > 0)
            {
                EditCourse.DeleteSCEScore(new DSRequest(deleteHelper));
            }
            if (usCount > 0)
            {
                EditCourse.UpdateAttend(usHelper);
            }

            SaveButtonVisible = false;
            LoadContent(RunningID);
        }