/// <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; } }
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; } } } }