Exemplo n.º 1
0
        public FormTableViewer getCoursesSumUpViewer(string table)
        {
            SqlCeResultSet r = db.Select(string.Format
                                             ("SELECT [{0}].st_id, students.name, [{0}].mark FROM [{0}], students WHERE [{0}].st_id = students.st_id", table));
            FormTableViewer viewer = new FormTableViewer();

            viewer._MMHostForm = this;
            viewer.MdiParent   = this;
            viewer.Text        = string.Format("{0} {1} {2}", viewer.Text,
                                               table, db.GetTip("co_id", int.Parse(table.Substring(("co_sta_").Length))));
            viewer.grid.DataSource = r;
            FormTableViewerTag tag = new FormTableViewerTag(db, Database.Tables.CoursesSumUp);

            tag.expand                    = table;
            viewer.Tag                    = tag;
            viewer.grid.DataError        += new DataGridViewDataErrorEventHandler(grid_DataError);
            viewer.grid.CellValueChanged += new DataGridViewCellEventHandler(grid_CellValueChanged);
            string[] caption = db.TableCaptions(Database.Tables.CoursesSumUp);
            if (caption.Length == viewer.grid.Columns.Count)
            {
                for (int i = 0; i < viewer.grid.Columns.Count; i++)
                {
                    viewer.grid.Columns[i].HeaderText = caption[i];
                }
            }
            return(viewer);
        }
Exemplo n.º 2
0
        void testCoursesComplettion_Click(object sender, EventArgs e)
        {
            if (grid.SelectedCells.Count == 0)
            {
                MessageBox.Show("Vui lòng chọn các BGID cần kiểm tra xem đã hoàn thành việc nhập điểm hay chưa");
                return;
            }
            int[] co_ids = new int[grid.SelectedCells.Count];
            for (int i = 0; i < grid.SelectedCells.Count; i++)
            {
                try
                {
                    co_ids[i] = (int)grid.Rows[grid.SelectedCells[i].RowIndex].Cells[0].Value;
                }
                catch (Exception) { continue; }
            }
            FormTableViewer ftv_cc = new FormTableViewer();

            ftv_cc.grid.AutoSize   = false;
            ftv_cc.grid.DataSource = tag.Db.CoursesCompletionDataTable(co_ids);
            ftv_cc.grid.DataMember = "";
            ftv_cc.grid.GridColor  = Color.SkyBlue;
            ftv_cc.MdiParent       = this.MdiParent;
            ftv_cc.Text            = "CC";
            ftv_cc.grid.ReadOnly   = true;
            ftv_cc.Show();
        }
Exemplo n.º 3
0
        void grid_DataError(object sender, DataGridViewDataErrorEventArgs e)
        {
            SqlCeException ex      = e.Exception as SqlCeException;
            string         message = "";
            DataGridView   grid    = sender as DataGridView;
            string         source  = " ở dòng: " + (e.RowIndex + 1).ToString() +
                                     ", trong cột: \"" + grid.Columns[e.ColumnIndex].HeaderText + "\"";

            if (ex != null)
            {
                switch (ex.NativeError)
                {
                case 25026:
                    // Message	"A foreign key value cannot be inserted because a corresponding primary key value does not exist.
                    message = "Thông tin không đúng" + source;
                    break;

                case 25016:
                    // Message	"A duplicate value cannot be inserted into a unique index.
                    message = "Thông tin bị trùng" + source + ". Hãy xem lại!";
                    break;

                default:
                    message = e.Exception.Message;
                    break;
                }
            }
            else
            {
                switch (e.Exception.GetType().Name)
                {
                case "FormatException":
                    message = "Dạng thông tin không đúng. Rất có thể bạn đã nhập một chữ vào" +
                              " ô chỉ có thể nhập một số! Sửa lại" + source;
                    break;

                case "InvalidOperationException":
                    if (e.Exception.Message.Contains("max"))
                    {
                        message = "Độ dài thông tin vượt quá mức cho phép. \r\n" + e.Exception.Message;
                    }
                    break;
                }
            }
            FormTableViewer f = ((FormTableViewer)grid.Parent.Parent.Parent);

            if (f.radioSilent.Checked)
            {
                f.timer1.Enabled = true;
                System.Media.SystemSounds.Asterisk.Play();
                f.errorProvider.BindToDataAndErrors(grid.DataSource, "");
                f.errorProvider.SetError(f, message);
                statusText.Text = message;
            }
            else
            {
                Utility.Miscellaneous.ErrorMessage(message);
            }
        }
Exemplo n.º 4
0
 private void tablesToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
 {
     try
     {
         object table = Enum.Parse(MM.Database.Tables.NULL.GetType(), e.ClickedItem.ToolTipText.Substring(1), true);
         if (table is MM.Database.Tables)
         {
             FormTableViewer    viewer = getViewer((MM.Database.Tables)table);
             FormTableViewerTag tag    = new FormTableViewerTag(db, (MM.Database.Tables)table);
             viewer.Tag = tag;
             viewer.Init();
             viewer.Show();
         }
     }
     catch (ArgumentException) { }
     catch (NullReferenceException) { }
 }
Exemplo n.º 5
0
        public FormTableViewer getViewer(GiangManh.MM.Database.Tables table)
        {
            string sql = "SELECT * FROM {0} ";

            switch (table)
            {
            case Database.Tables.Marks:
                sql += "ORDER BY st_id";
                break;

            case Database.Tables.Students:
                sql += "ORDER BY gr_id ASC, no ASC";
                break;
            }
            SqlCeResultSet  r      = db.Select(string.Format(sql, table));
            FormTableViewer viewer = new FormTableViewer();

            viewer._MMHostForm     = this;
            viewer.MdiParent       = this;
            viewer.Text            = string.Format("{0} {1}", viewer.Text, table);
            viewer.grid.DataSource = r;
            FormTableViewerTag tag = new FormTableViewerTag(db, table);

            tag.expand                    = string.Format("{0}", table);
            viewer.Tag                    = tag;
            viewer.grid.DataError        += new DataGridViewDataErrorEventHandler(grid_DataError);
            viewer.grid.CellValueChanged += new DataGridViewCellEventHandler(grid_CellValueChanged);
            string[] caption = db.TableCaptions(table);
            if (caption.Length == viewer.grid.Columns.Count)
            {
                for (int i = 0; i < viewer.grid.Columns.Count; i++)
                {
                    viewer.grid.Columns[i].HeaderText = caption[i];
                }
            }
            return(viewer);
        }
Exemplo n.º 6
0
        private void excelToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormTableViewer activeViewer = this.ActiveMdiChild as FormTableViewer;

            if (activeViewer == null)
            {
                activeViewer = this._MMActiveForm as FormTableViewer;
            }
            if (activeViewer == null)
            {
                Utility.Miscellaneous.ErrorMessage("Vui lòng mở cửa sổ chứa bảo dữ liệu cần chuyển sang Excel\n" +
                                                   "trước khi vào mục này.\n");
                return;
            }
            FormTableViewerTag tag = activeViewer.Tag as FormTableViewerTag;

            if (tag == null)
            {
                MessageBox.Show("Bảng dữ liệu này chỉ có thể dùng Quick Report để đưa sang Excel");
                return;
            }
            string title = "";

            switch (tag.Table)
            {
            case Database.Tables.CoursesSumUp:
                title = "BẢNG TỔNG KẾT ĐIỂM LỚP " + db.GetTip("co_id", int.Parse(tag.expand.Substring(("co_sta_").Length))); break;

            case Database.Tables.Courses:
                title = "DANH SÁCH PHÂN CÔNG GIẢNG DẠY"; break;

            case Database.Tables.Groups:
                title = "DANH SÁCH CÁC LỚP"; break;

            case Database.Tables.Marks:
                title = "BẢNG ĐIỂM LỚN"; break;

            case Database.Tables.Students:
                title = "DANH SÁCH HỌC SINH"; break;

            case Database.Tables.Teachers:
                title = "DANH SÁCH GIÁO VIÊN"; break;
            }
            SaveFileDialog saveFileDlg = new SaveFileDialog();

            saveFileDlg.Filter   = "Excel XML Document |*.excel.xml";
            saveFileDlg.FileName = string.Format("{0} {1}", tag.Table, DateTime.Today.ToString("dd-MM-yyyy"));
            saveFileDlg.SupportMultiDottedExtensions = true;
            saveFileDlg.Title = "Xuat bang du lieu sang Excel";
            if (saveFileDlg.ShowDialog() == DialogResult.OK)
            {
                StreamWriter sw = null;
                try
                {
                    sw = new StreamWriter(saveFileDlg.OpenFile());
                    if (tag.Table == Database.Tables.CoursesSumUp)
                    {
                        sw.Write(tag.Db.ExportExcelXml(tag.expand,
                                                       string.Format
                                                           ("SELECT [{0}].st_id, students.name, [{0}].mark FROM [{0}],"
                                                           + "students WHERE [{0}].st_id = students.st_id", tag.expand),
                                                       title));
                    }
                    else
                    {
                        sw.Write(tag.Db.ExportExcelXml(tag.Table.ToString(), string.Empty, title));
                    }
                    sw.Flush();
                    if (Utility.Miscellaneous.Confirm
                            ("Đã lưu xong:\n" + saveFileDlg.FileName + "\nBạn có muốn mở xem thử không?"))
                    {
                        System.Diagnostics.Process.Start(saveFileDlg.FileName);
                    }
                }
                catch (Exception ex)
                {
                    Utility.Miscellaneous.ErrorMessage("Có lỗi khi lưu kết quả\n" + ex.Message);
                }
                finally { if (sw != null)
                          {
                              sw.Close();
                          }
                }
            }
        }