private void UiVistaPrincipal_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e) { GridView view = sender as GridView; if (view.FocusedColumn == colQUANTITY) { decimal cantidad = Convert.ToDecimal(e.Value); if (cantidad < 0) { e.Valid = false; e.ErrorText = "Cantidad inválida."; return; } decimal cantidadOrginal = Convert.ToDecimal(UiVistaPrincipal.GetRowCellValue(UiVistaPrincipal.FocusedRowHandle, "QUANTITY_ORIGINAL").ToString()); if (cantidadOrginal < cantidad) { e.Valid = false; e.ErrorText = "No puede sobrepasar la cantidad original de la canasta."; return; } if (cantidadOrginal != cantidad) { view.SetRowCellValue(UiVistaPrincipal.FocusedRowHandle, "MODIFIED", true); } else { view.SetRowCellValue(UiVistaPrincipal.FocusedRowHandle, "MODIFIED", false); } } }
private void UiVistaPrincipal_ShowingEditor(object sender, CancelEventArgs e) { int implosion = Convert.ToInt32(UiVistaPrincipal.GetRowCellValue(UiVistaPrincipal.FocusedRowHandle, "WAS_IMPLODED")); if (implosion == (int)Estados.SiNo.Si) { e.Cancel = true; } string estado = UiVistaPrincipal.GetRowCellValue(UiVistaPrincipal.FocusedRowHandle, "STATUS").ToString(); if (EnumsOperations.GetEnumValueFromStringValue <Estados.EstadoCajaLineaPicking>(estado) == EstadoCajaLineaPicking.Despachado) { e.Cancel = true; } }