//khi sửa ở 1 dòng trên gridview và trỏ sang dòng khác thì có sự kiện private void gvSinhVien_ValidateRow(object sender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e) { if (!them) { if (gvSinhVien.FocusedRowHandle != gvSinhVien.RowCount - 1) { } else { if (MessageBox.Show("Bạn có chắc muốn lưu không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { try { if (gvSinhVien.GetFocusedRowCellValue(colHoSV).ToString() != "" && gvSinhVien.GetFocusedRowCellValue(colTenSV).ToString() != "" && gvSinhVien.GetFocusedRowCellValue(colTenLop).ToString() != "") { //chuẩn hóa tên string maLop = Lop_BUS.maLop(gvSinhVien.GetFocusedRowCellValue(colTenLop).ToString()); string hoSV = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colHoSV).ToString().ToLower()); string tenSV = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colTenSV).ToString().ToLower()); string gioiTinh = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colGioiTinh).ToString().ToLower()); string diaChi = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colDiaChi).ToString().ToLower()); string noiSinh = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colNoiSinh).ToString().ToLower()); DateTime ngaySinh = DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString()); DateTime ngayNhapHoc = DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString()); sv = new SinhVien_DTO(tbMaSV.Text, hoSV, tenSV, gioiTinh, ngaySinh, diaChi, noiSinh, maLop, ngayNhapHoc); SinhVien_BUS.themSV(sv); MessageBox.Show("Thêm thành công"); // this.SinhVienbindingSource.EndEdit(); //chuẩn hóa trực tiếp sinh viên vào gridview mà không load lại danh sách gvSinhVien.SetFocusedRowCellValue(colHoSV, hoSV); gvSinhVien.SetFocusedRowCellValue(colTenSV, tenSV); gvSinhVien.SetFocusedRowCellValue(colDiaChi, diaChi); gvSinhVien.SetFocusedRowCellValue(colNoiSinh, noiSinh); //load_DS(); //chuẩn hóa ở textbox tbHoSV.Text = hoSV; tbTenSV.Text = tenSV; cboGioiTinh.Text = gioiTinh; cboLop.Text = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colTenLop).ToString()); tbDiaChi.Text = diaChi; tbNoiSinh.Text = noiSinh; dtpNgaySinh.Value = ngaySinh; dtpNgayNhapHoc.Value = ngayNhapHoc; // them = true; } else if (tbHoSV.Text == "" || tbTenSV.Text == "") { MessageBox.Show("Nhập đầy đủ Họ Tên Sinh Viên"); } else { MessageBox.Show("Chọn lớp cho Sinh viên"); } } catch { MessageBox.Show("Lưu không thành công!"); } } else { them = true; SinhVienbindingSource.RemoveAt(gvSinhVien.RowCount - 1); } } } else if (daChuanhoa) { daChuanhoa = false; } else if (sua) { sua = false; } else { //khi vừa mới thêm xong if (tbHoSV.Text.Trim() == ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colHoSV).ToString().Trim().ToLower()) && tbTenSV.Text.Trim() == ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colTenSV).ToString().Trim().ToLower()) && cboGioiTinh.Text.Trim() == ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colGioiTinh).ToString().Trim().ToLower()) && tbDiaChi.Text.Trim() == ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colDiaChi).ToString().Trim().ToLower()) && tbNoiSinh.Text.Trim() == ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colNoiSinh).ToString().Trim().ToLower()) && cboLop.Text.Trim() == gvSinhVien.GetFocusedRowCellValue(colTenLop).ToString().Trim() && gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString() != "" && gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString() != "" && dtpNgayNhapHoc.Value == DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString()) && dtpNgaySinh.Value == DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString())) { } else { if (MessageBox.Show("Bạn có chắc muốn sửa không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { try { // string maLop = Lop_BUS.maLop(cboLop.Text); // sv = new SinhVien_DTO(tbHoSV.Text, tbTenSV.Text, cboGioiTinh.Text, dtpNgaySinh.Value, tbDiaChi.Text, tbNoiSinh.Text, maLop); // SinhVien_BUS.suaSV(sv); if (tbHoSV.Text.Trim() != ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colHoSV).ToString().Trim().ToLower())) { string hoSV = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colHoSV).ToString().Trim().ToLower()); SinhVien_BUS.suaSV_HoSV(tbMaSV.Text, hoSV); tbHoSV.Text = hoSV; gvSinhVien.SetFocusedRowCellValue(colHoSV, hoSV); } else { gvSinhVien.SetFocusedRowCellValue(colHoSV, ChuanHoa(tbHoSV.Text.Trim().ToLower())); } if (tbTenSV.Text.Trim() != ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colTenSV).ToString().Trim().ToLower())) { string tenSV = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colTenSV).ToString().Trim().ToLower()); SinhVien_BUS.suaSV_TenSV(tbMaSV.Text, tenSV); tbTenSV.Text = tenSV; gvSinhVien.SetFocusedRowCellValue(colTenSV, tenSV); } else { gvSinhVien.SetFocusedRowCellValue(colTenSV, ChuanHoa(tbTenSV.Text.Trim().ToLower())); } if (cboGioiTinh.Text.Trim() != ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colGioiTinh).ToString().Trim().ToLower())) { SinhVien_BUS.suaSV_GioiTinh(tbMaSV.Text, ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colGioiTinh).ToString().Trim().ToLower())); cboGioiTinh.Text = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colGioiTinh).ToString().Trim().ToLower()); } if (dtpNgaySinh.Value != DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString())) { SinhVien_BUS.suaSV_NgaySinh(tbMaSV.Text, DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString())); dtpNgaySinh.Value = DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString()); } if (dtpNgayNhapHoc.Value != DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString())) { SinhVien_BUS.suaSV_NgayNhapHoc(tbMaSV.Text, DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString())); dtpNgayNhapHoc.Value = DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString()); } if (tbDiaChi.Text.Trim() != ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colDiaChi).ToString().Trim().ToLower())) { SinhVien_BUS.suaSV_DiaChi(tbMaSV.Text, ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colDiaChi).ToString().Trim().ToLower())); tbDiaChi.Text = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colDiaChi).ToString().Trim().ToLower()); gvSinhVien.SetFocusedRowCellValue(colDiaChi, ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colDiaChi).ToString().Trim().ToLower())); } else { gvSinhVien.SetFocusedRowCellValue(colDiaChi, ChuanHoa(tbDiaChi.Text.Trim().ToLower())); } if (tbNoiSinh.Text.Trim() != ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colNoiSinh).ToString().Trim().ToLower())) { SinhVien_BUS.suaSV_NoiSinh(tbMaSV.Text, ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colNoiSinh).ToString().Trim().ToLower())); tbNoiSinh.Text = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colNoiSinh).ToString().Trim().ToLower()); gvSinhVien.SetFocusedRowCellValue(colNoiSinh, ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colNoiSinh).ToString().Trim().ToLower())); } else { gvSinhVien.SetFocusedRowCellValue(colNoiSinh, ChuanHoa(tbNoiSinh.Text.Trim().ToLower())); } if (cboLop.Text.Trim() != gvSinhVien.GetFocusedRowCellValue(colTenLop).ToString().Trim()) { SinhVien_BUS.suaSV_Lop(tbMaSV.Text, gvSinhVien.GetFocusedRowCellValue(colTenLop).ToString().Trim()); cboLop.Text = gvSinhVien.GetFocusedRowCellValue(colTenLop).ToString().Trim(); } MessageBox.Show("Sửa thành công!"); } catch { MessageBox.Show("Sửa không thành công!"); } } else { gvSinhVien.SetFocusedRowCellValue(colHoSV, tbHoSV.Text); gvSinhVien.SetFocusedRowCellValue(colTenSV, tbTenSV.Text); gvSinhVien.SetFocusedRowCellValue(colGioiTinh, cboGioiTinh.Text); gvSinhVien.SetFocusedRowCellValue(colNgaySinh, dtpNgaySinh.Value); gvSinhVien.SetFocusedRowCellValue(colNgayNhapHoc, dtpNgayNhapHoc.Value); gvSinhVien.SetFocusedRowCellValue(colDiaChi, tbDiaChi.Text); gvSinhVien.SetFocusedRowCellValue(colNoiSinh, tbNoiSinh.Text); gvSinhVien.SetFocusedRowCellValue(colTenLop, cboLop.Text); } } } }
//button lưu (khi thêm hoặc sửa) private void btnLuu_Click(object sender, EventArgs e) { try { if (!them && gvSinhVien.FocusedRowHandle == gvSinhVien.RowCount - 1) { if (tbHoSV.Text != "" && tbTenSV.Text != "" && cboLop.Text != "") { //chuẩn hóa tên string maLop = Lop_BUS.maLop(cboLop.Text); string hoSV = ChuanHoa(tbHoSV.Text.ToLower()); string tenSV = ChuanHoa(tbTenSV.Text.ToLower()); string gioiTinh = ChuanHoa(cboGioiTinh.Text.ToLower()); string diaChi = ChuanHoa(tbDiaChi.Text.ToLower()); string noiSinh = ChuanHoa(tbNoiSinh.Text.ToLower()); sv = new SinhVien_DTO(tbMaSV.Text, hoSV, tenSV, gioiTinh, dtpNgaySinh.Value, diaChi, noiSinh, maLop, dtpNgayNhapHoc.Value); SinhVien_BUS.themSV(sv); MessageBox.Show("Thêm thành công"); // this.SinhVienbindingSource.EndEdit(); //thêm trực tiếp sinh viên vào gridview mà không load lại danh sách gvSinhVien.SetFocusedRowCellValue(colHoSV, hoSV); gvSinhVien.SetFocusedRowCellValue(colTenSV, tenSV); gvSinhVien.SetFocusedRowCellValue(colGioiTinh, gioiTinh); gvSinhVien.SetFocusedRowCellValue(colNgaySinh, dtpNgaySinh.Value); gvSinhVien.SetFocusedRowCellValue(colNgayNhapHoc, dtpNgayNhapHoc.Value); gvSinhVien.SetFocusedRowCellValue(colDiaChi, diaChi); gvSinhVien.SetFocusedRowCellValue(colNoiSinh, noiSinh); gvSinhVien.SetFocusedRowCellValue(colTenLop, cboLop.Text); //load_DS(); //chuẩn hóa ở textbox tbHoSV.Text = hoSV; tbTenSV.Text = tenSV; tbDiaChi.Text = diaChi; tbNoiSinh.Text = noiSinh; // them = true; } else if (tbHoSV.Text == "" || tbTenSV.Text == "") { MessageBox.Show("Nhập đầy đủ Họ Tên Sinh Viên"); } else { MessageBox.Show("Chọn lớp cho Sinh viên"); } } else { if (MessageBox.Show("Bạn có chắc muốn sửa không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { try { if (ChuanHoa(tbHoSV.Text.Trim().ToLower()) != gvSinhVien.GetFocusedRowCellValue(colHoSV).ToString().Trim()) { SinhVien_BUS.suaSV_HoSV(tbMaSV.Text.Trim(), ChuanHoa(tbHoSV.Text.Trim().ToLower())); gvSinhVien.SetFocusedRowCellValue(colHoSV, ChuanHoa(tbHoSV.Text.Trim().ToLower())); tbHoSV.Text = ChuanHoa(tbHoSV.Text.Trim().ToLower()); } else { tbHoSV.Text = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colHoSV).ToString().Trim().ToLower()); } if (ChuanHoa(tbTenSV.Text.Trim().ToLower()) != gvSinhVien.GetFocusedRowCellValue(colTenSV).ToString().Trim()) { SinhVien_BUS.suaSV_TenSV(tbMaSV.Text.Trim(), ChuanHoa(tbTenSV.Text.Trim().ToLower())); gvSinhVien.SetFocusedRowCellValue(colTenSV, ChuanHoa(tbTenSV.Text.Trim().ToLower())); tbTenSV.Text = ChuanHoa(tbTenSV.Text.Trim().ToLower()); } else { tbTenSV.Text = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colTenSV).ToString().Trim().ToLower()); } if (cboGioiTinh.Text.Trim() != gvSinhVien.GetFocusedRowCellValue(colGioiTinh).ToString().Trim()) { SinhVien_BUS.suaSV_GioiTinh(tbMaSV.Text.Trim(), cboGioiTinh.Text.Trim()); gvSinhVien.SetFocusedRowCellValue(colGioiTinh, cboGioiTinh.Text); } if (gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString() == "" || dtpNgaySinh.Value != DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString())) { SinhVien_BUS.suaSV_NgaySinh(tbMaSV.Text.Trim(), dtpNgaySinh.Value); gvSinhVien.SetFocusedRowCellValue(colNgaySinh, dtpNgaySinh.Value); } if (gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString() == "" || dtpNgaySinh.Value != DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString())) { SinhVien_BUS.suaSV_NgayNhapHoc(tbMaSV.Text.Trim(), dtpNgayNhapHoc.Value); gvSinhVien.SetFocusedRowCellValue(colNgayNhapHoc, dtpNgayNhapHoc.Value); } if (ChuanHoa(tbDiaChi.Text.Trim().ToLower()) != gvSinhVien.GetFocusedRowCellValue(colDiaChi).ToString().Trim()) { SinhVien_BUS.suaSV_DiaChi(tbMaSV.Text.Trim(), ChuanHoa(tbDiaChi.Text.Trim().ToLower())); gvSinhVien.SetFocusedRowCellValue(colDiaChi, ChuanHoa(tbDiaChi.Text.Trim().ToLower())); tbDiaChi.Text = ChuanHoa(tbDiaChi.Text.Trim().ToLower()); } else { tbDiaChi.Text = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colDiaChi).ToString().Trim().ToLower()); } if (ChuanHoa(tbNoiSinh.Text.Trim().ToLower()) != gvSinhVien.GetFocusedRowCellValue(colNoiSinh).ToString().Trim()) { SinhVien_BUS.suaSV_NoiSinh(tbMaSV.Text.Trim(), ChuanHoa(tbNoiSinh.Text.Trim().ToLower())); gvSinhVien.SetFocusedRowCellValue(colNoiSinh, ChuanHoa(tbNoiSinh.Text.Trim().ToLower())); tbNoiSinh.Text = ChuanHoa(tbNoiSinh.Text.Trim().ToLower()); } else { tbNoiSinh.Text = ChuanHoa(gvSinhVien.GetFocusedRowCellValue(colNoiSinh).ToString().Trim().ToLower()); } if (cboLop.Text.Trim() != gvSinhVien.GetFocusedRowCellValue(colTenLop).ToString().Trim()) { SinhVien_BUS.suaSV_Lop(tbMaSV.Text.Trim(), cboLop.Text.Trim()); gvSinhVien.SetFocusedRowCellValue(colTenLop, cboLop.Text); } MessageBox.Show("Sửa thành công!"); sua = true; } catch { MessageBox.Show("Sửa không thành công"); } } else { tbMaSV.Text = gvSinhVien.GetFocusedRowCellValue(colMaSV).ToString(); tbHoSV.Text = gvSinhVien.GetFocusedRowCellValue(colHoSV).ToString(); tbTenSV.Text = gvSinhVien.GetFocusedRowCellValue(colTenSV).ToString(); //ToUpper để convert sang chữ in hoa if (gvSinhVien.GetFocusedRowCellValue(colGioiTinh).ToString().ToUpper() == "NAM") { cboGioiTinh.SelectedIndex = 0; } else { cboGioiTinh.SelectedIndex = 1; } if (gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString() != "") { dtpNgaySinh.Value = DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgaySinh).ToString()); } if (gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString() != "") { dtpNgayNhapHoc.Value = DateTime.Parse(gvSinhVien.GetFocusedRowCellValue(colNgayNhapHoc).ToString()); } tbNoiSinh.Text = gvSinhVien.GetFocusedRowCellValue(colNoiSinh).ToString(); tbDiaChi.Text = gvSinhVien.GetFocusedRowCellValue(colDiaChi).ToString(); cboLop.Text = gvSinhVien.GetFocusedRowCellValue(colTenLop).ToString(); } } } catch { MessageBox.Show("Lưu thất bại"); } }