private void UiVistaSolicitudTraslado_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
        {
            var view = sender as GridView;

            if (view == null || view.FocusedColumn.FieldName != "QTY")
            {
                return;
            }
            var registro = (Sku)UiVistaSolicitudTraslado.GetRow(view.FocusedRowHandle);

            try
            {
                var qty = double.Parse(e.Value.ToString());
                registro.QTY = qty;
                Materiales.Where(mt => mt.MATERIAL_ID == registro.MATERIAL_ID).ToList().ForEach(mt => mt.QTY = qty);
                if (!(qty <= 0))
                {
                    return;
                }
                e.Valid     = false;
                e.ErrorText = "La cantidad debe de ser mayor a 0";
            }
            catch (Exception)
            {
                e.Valid     = false;
                e.ErrorText = "Cantidad inválida.";
            }
        }
        private void UiVistaSolicitudTraslado_SelectionChanged(object sender, DevExpress.Data.SelectionChangedEventArgs e)
        {
            if (e.ControllerRow >= 0)
            {
                var material = (Sku)UiVistaSolicitudTraslado.GetRow(e.ControllerRow);
                material.IS_SELECTED = (e.Action == CollectionChangeAction.Add);
            }
            else
            {
                if (!UsuarioSeleccionoListaMaterialesCompleta)
                {
                    return;
                }

                for (var i = 0; i < UiVistaSolicitudTraslado.RowCount; i++)
                {
                    var material = (Sku)UiVistaSolicitudTraslado.GetRow(i);
                    if (material == null)
                    {
                        continue;
                    }
                    material.IS_SELECTED = (UiVistaSolicitudTraslado.SelectedRowsCount != 0);
                }
                UsuarioSeleccionoListaMaterialesCompleta = false;
            }
        }
 private void UiVistaSolicitudTraslado_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
 {
     if (e.Column != colQTY)
     {
         return;
     }
     try
     {
         if (decimal.Parse(e.Value.ToString()) >= 0)
         {
             return;
         }
         var qty        = double.Parse(e.Value.ToString());
         var materialId = UiVistaSolicitudTraslado.GetRowCellValue(e.RowHandle, colMATERIAL_ID);
         Materiales.Where(mt => mt.MATERIAL_ID == materialId.ToString()).ToList().ForEach(mt => mt.QTY = qty);
     }
     catch (Exception)
     {
         // ignored
     }
 }