protected void gvCaThi_CustomDataCallback(object sender, ASPxGridViewCustomDataCallbackEventArgs e) { cathiDTO = new clsCaThi_DTO(); string strReturn = string.Empty; string strMess = string.Empty; int iRow = gvCaThi.VisibleRowCount; List <object> keyValues = gvCaThi.GetSelectedFieldValues("MaCaThi"); foreach (object key in keyValues) { cathiDTO.MaCaThi = key.ToString(); int iReturn = cathiDAL.Delete(cathiDTO); if (iReturn < 0) { strMess += " " + key.ToString(); } } if (strMess != string.Empty) { e.Result = "Do ràng buộc dữ liệu, không thể xóa " + strMess; } else { e.Result = string.Empty; } cathiDTO = new clsCaThi_DTO(); cathiDTO.MaDotThi = cboDotThi.Value.ToString(); gvCaThi.DataSource = loadDataToUI(cathiDTO); gvCaThi.Selection.SelectAll(); }