Пример #1
0
        /// <summary>
        /// lấy danh sách học sinh và bảng điểm với các điều kiện tương ứng hiển thị lên datagridview
        /// </summary>
        void loadDataGridView()
        {
            // Đảm bảo các combobox đều có dữ liệu được chọn
            if (comboboxLop.SelectedIndex != -1 && comboboxMon.SelectedIndex != -1 && comboboxNam.SelectedIndex != -1 && comboboxHocKy.SelectedIndex != -1 && comboboxKhoi.SelectedIndex != -1)
            {
                labelHocKy.Text = comboboxHocKy.Text;
                labelMon.Text   = comboboxMon.Text;
                labelLop.Text   = comboboxLop.Text;


                _listBangDiem.Clear();
                int i = checkExistedInListBangDiemChanged(comboboxNam.Text, int.Parse(comboboxHocKy.Tag.ToString()), comboboxKhoi.Tag.ToString(), int.Parse(comboboxLop.Tag.ToString()), comboboxMon.Tag.ToString());
                if (i == -1)// không tìm thấy
                {
                    // duyệt danh sách học sinh trong một lớp
                    foreach (usp_SelectXeplopsByMALOPResult hs in _xepLopBus.TruyVanTheoMaLop(int.Parse(comboboxLop.Tag.ToString())))
                    {
                        // Lấy bảng điểm học sinh đang duyệt từ database
                        BangDiemHocSinh diem = _diemBus.LayBangDiem((int)hs.MAHOCSINH, comboboxNam.Text, int.Parse(comboboxHocKy.Tag.ToString()), comboboxMon.Tag.ToString());
                        _listBangDiem.Add(diem);                       // thêm học sinh cùng bảng điểm vào danh sách
                    }
                    dataGridView.DataSource = _listBangDiem.ToArray(); // thiết lập dữ liệu cho datagridview
                }
                else // tìm thấy
                {
                    dataGridView.DataSource = _listBangDiemChanged[i].listDiem.ToArray();// thiết lập dữ liệu cho datagridview
                }
            }
            else
            {
                labelHocKy.Text = null;
                labelMon.Text   = null;
                labelLop.Text   = null;
            }

            // thiết lập số thứ tự trên datagridview
            for (int j = 0; j < dataGridView.Rows.Count; j++)
            {
                dataGridView.Rows[j].Cells["STT"].Value = j + 1;
            }
        }
Пример #2
0
        private void DocFileExcel(string ipath)
        {
            IExcelDataReader FileExcel;
            FileStream       stream = File.Open(ipath, FileMode.Open, FileAccess.Read); //Đọc file vào

            try
            {
                //1. Câu lệnh sau dùng cho Excel 2007 trở lên
                FileExcel = ExcelReaderFactory.CreateOpenXmlReader(stream);      //1.
            }
            catch
            {
                //2. Nếu bạn dùng Excel 2003 trở xuống vui lòng dùng câu lệnh 2. thay cho 1.
                FileExcel = ExcelReaderFactory.CreateBinaryReader(stream);    //2.
            }


            List <BangDiemHocSinh> listDiem = new List <BangDiemHocSinh>();
            DataSet result = FileExcel.AsDataSet();

            FileExcel.IsFirstRowAsColumnNames = true;
            foreach (System.Data.DataTable table in result.Tables)
            {
                for (int i = START_POSITION_READ_FROM_EXCEL; i < table.Rows.Count; i++)
                {
                    BangDiemHocSinh temp = new BangDiemHocSinh();
                    temp._MaHocSinh = Convert.ToInt32(table.Rows[i].ItemArray[0].ToString());
                    temp._Hoten     = table.Rows[i].ItemArray[1].ToString();
                    temp._Diem15    = Convert.ToInt32(table.Rows[i].ItemArray[2].ToString());
                    temp._Diem1Tiet = Convert.ToInt32(table.Rows[i].ItemArray[3].ToString());
                    temp._DiemHK    = Convert.ToInt32(table.Rows[i].ItemArray[4].ToString());

                    listDiem.Add(temp);
                }
            }
            FileExcel.Close();


            // update data to gridview
            for (int i = 0; i < dataGridView.RowCount; i++)
            {
                for (int j = 0; j < listDiem.Count; j++)
                {
                    if (dataGridView.Rows[i].Cells["MaHocSinh"].Value.Equals(listDiem[j]._MaHocSinh))
                    {
                        DataGridViewCell cell = dataGridView.Rows[i].Cells["Diem15"];
                        dataGridView.CurrentCell = cell;
                        dataGridView.BeginEdit(true);
                        dataGridView.Rows[i].Cells["Diem15"].Value = listDiem[j]._Diem15;
                        dataGridView.EndEdit();

                        DataGridViewCell cell1 = dataGridView.Rows[i].Cells["Diem1Tiet"];
                        dataGridView.CurrentCell = cell1;
                        dataGridView.BeginEdit(true);
                        dataGridView.Rows[i].Cells["Diem1Tiet"].Value = listDiem[j]._Diem1Tiet;
                        dataGridView.EndEdit();

                        DataGridViewCell cell2 = dataGridView.Rows[i].Cells["DiemHK"];
                        dataGridView.CurrentCell = cell2;
                        dataGridView.BeginEdit(true);
                        dataGridView.Rows[i].Cells["DiemHK"].Value = listDiem[j]._DiemHK;
                        dataGridView.EndEdit();

                        listDiem.RemoveAt(j);
                        break;
                    }
                }
            }
        }