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