// Trên các control như textbox...
private void txtTenTaiLieu_Validating(object sender, CancelEventArgs e)
{
if (CheckTenTaiLieu(txtTenTaiLieu.Text) || txtTenTaiLieu.Text == "")
e.Cancel = true;
}
private void txtTenTaiLieu_InvalidValue(object sender, InvalidValueExceptionEventArgs e)
{
e.ExceptionMode = DevExpress.XtraEditors.Controls.ExceptionMode.NoAction;
ThongBao.BaoLoi("Tên tài liệu này đã tồn tại hoặc đang để trống.\r\nVui lòng nhập tên khác!");
}
bool CheckTenTaiLieu(string tentailieu)
{
return dbTaiLieu.tbTaiLieux.Where(t=>(t.TenTaiLieu == tentailieu && t.IdTieuMuc == (int)trvDanhMuc.SelectedNode.Tag && t.NamLuuTru == DateTime.Now.Year)).Count() > 0;
}
// Trên girdView
private TrungNoiDung KiemTraTrungLap(string p, int id)
{
tbTaiLieuBindingSource.EndEdit();
// Kiểm tra trên CSDL
if (CheckTenTaiLieu(p)) return TrungNoiDung.Trung;
foreach (tbTaiLieu obj in tbTaiLieuBindingSource)
{
// Kiểm tra trên các Tài liệu chưa thêm vào
if (obj.TenTaiLieu == p && id != obj.IdTaiLieu)
{
return TrungNoiDung.Trung;
}
}
return TrungNoiDung.KhongTrung;
}
/////////////////////////////////////////////////////////////////////////
private void gridView19_ValidateRow(object sender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e)
{
try
{
GridView view = sender as GridView;
int rowHandle = e.RowHandle;
e.ErrorText = "CÓ: Bổ sung thông tin.\r\nKHÔNG: Hủy thao tác không bổ sung thêm thông tin.\r\n";
if (Convert.ToString(view.GetRowCellValue(rowHandle, this.colTenTaiLieu)).ToString() == string.Empty)
{
e.Valid = false;
view.SetColumnError(this.colTenTaiLieu, "Nhập tên tài liệu!");
}
}
catch (Exception)
{
}
}
private void gridView19_ValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e)
{
int id = ((tbTaiLieu)tbTaiLieuBindingSource.Current).IdTaiLieu;
if (gridView19.FocusedColumn.Name == "colTenTaiLieu")
{
this.tbTaiLieuBindingSource.EndEdit();
if (e.Value.ToString() == "" || KiemTraTrungLap(e.Value.ToString(), id) == TrungNoiDung.Trung)
{
if (id == 0)
{
tbTaiLieuBindingSource.RemoveCurrent();
tbTaiLieuBindingSource.EndEdit();
}
e.Valid = false;
}
}
}
/////////////////////////////////////////////////////////
private void gridView19_InvalidValueException(object sender, InvalidValueExceptionEventArgs e)
{
gridView19.SetColumnError(gridView19.FocusedColumn, "Không được để trống ô này hoặc tên vừa nhập đã tồn tại. Vui lòng nhập tên khác!!", ErrorType.Critical);
e.ExceptionMode = ExceptionMode.NoAction;
e.WindowCaption = "Thông báo!";
e.ErrorText = "Không được để trống ô này!\n\rHoặc tên này đã tồn tại.\n\rVui lòng nhập tên khác!";
// Destroying the editor and discarding the changes made within the edited cell
gridView19.HideEditor();
}
Không có nhận xét nào:
Đăng nhận xét