Thứ Tư, 12 tháng 8, 2015

Kiểm tra trống và Trùng dữ liệu trên các form thêm mới

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