//Evento utilizado para el calculo del nro de animales private void itxNumero_EditValueChanged(object sender, EventArgs e) { try { //Recuperamos la cantidad digitada por el usuario var varCantidad = ((TextEdit)sender).Text; if (varCantidad == null) { return; } //Recuperamos la fila seleccionada clsGraPartoDet drFila = (clsGraPartoDet)this.grvListado.GetRow(this.grvListado.FocusedRowHandle); //Verificamos si esta posicionado en la columna de nro vivos if (this.grvListado.FocusedColumn.Equals(colDetNroVivos)) { drFila.DetNroVivos = int.Parse(varCantidad.ToString()); } else if (this.grvListado.FocusedColumn.Equals(colDetNroMuertos)) { drFila.DetNroMuertos = int.Parse(varCantidad.ToString()); } else if (this.grvListado.FocusedColumn.Equals(colDetNroMomificados)) { drFila.DetNroMomificados = int.Parse(varCantidad.ToString()); } //Asignamos el nro total de animales drFila.DetNroTotal = drFila.DetNroVivos + drFila.DetNroMuertos + drFila.DetNroMomificados; this.grcListado.RefreshDataSource(); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
//Evento utilizado para detectar lo que presiona el usuario en el formulario private void xfrmGraManParto_KeyDown(object sender, KeyEventArgs e) { try { //Verificamos que la tecla presionada sea el enter if (e.KeyCode.Equals(Keys.Enter)) { //Verificamos que este puesto el focus en el detalle if (!grvListado.IsFocusedView) { return; } //Recuperamos la columna en la que esta posicionado GridColumn varColumna = this.grvListado.FocusedColumn; this.grvListado.FocusedColumn = colDetSecuencia; this.grvListado.FocusedColumn = varColumna; //Si la columna devuelve un valor nulo salimos del proceso if (this.grvListado.FocusedColumn == null) { return; } //Verificamos que el usuario este posicionado en la columan de total peso caso contrario salirmos del proceso if (!this.grvListado.FocusedColumn.Equals(colDetTotalKg)) { return; } //Limpiamos todos los errores del detalle de movimientos this.grvListado.ClearColumnErrors(); //Recuperamos la fila seleccionada e instanciamos con la clase detalle de inventario clsGraPartoDet objFila = (clsGraPartoDet)this.grvListado.GetRow(this.grvListado.FocusedRowHandle); //Validamos que los campos ha sido debidamente ingresados string varMensaje = objFila.funValidarFila(); if (!varMensaje.Equals("")) { //Separamos la columna que tiene el error string varControl = varMensaje.Split(':')[0]; //Separamos el mensaje de error string varError = varMensaje.Split(':')[1].Trim(); //Activamos el error this.grvListado.SetColumnError(this.grvListado.Columns[varControl], varError); //Posicionamos el cursor en la columna del error this.grvListado.FocusedColumn = this.grvListado.Columns[varControl]; return; } //Agregamos una nueva linea if (grvListado.FocusedRowHandle.Equals(grvListado.RowCount - 1)) { int varPosicion = this.grvListado.FocusedRowHandle; int varLinea = int.Parse(this.grvListado.GetRowCellValue(varPosicion, colDetSecuencia).ToString()); this.objDetalle.Add(new clsGraPartoDet(varLinea)); this.grcListado.RefreshDataSource(); this.grvListado.FocusedRowHandle = varPosicion + 1; this.grvListado.FocusedColumn = colAnmAlternativo; } } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
//Evento utilizado para el calculo del peso del nro de animales private void itxDecimalCuatro_EditValueChanged(object sender, EventArgs e) { try { //Recuperamos el peso digitado por el usuario var varPeso = ((TextEdit)sender).Text; if (varPeso == null) { return; } //Recuperamos la fila seleccionada clsGraPartoDet drFila = (clsGraPartoDet)this.grvListado.GetRow(this.grvListado.FocusedRowHandle); //Asignamos el valor del peso a la propiedad pertinente drFila.DetTotalKg = decimal.Parse(varPeso); //Calculamos el costo promedio de los animales basandonos en los vivos drFila.DetPromedioKg = drFila.DetNroVivos > 0 ? decimal.Round(drFila.DetTotalKg / drFila.DetNroVivos, 4) : 0; //Actualizamos el detalle this.grcListado.RefreshDataSource(); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
//Evento utilizado para obtener las dosis aplicadas a la cerda private void ibuDosis_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { try { //Recuperamos la fila seleccionada e instanciamos con la clase detalle parto clsGraPartoDet objFila = (clsGraPartoDet)this.grvListado.GetRow(this.grvListado.FocusedRowHandle); //Verificamos si existe una chapeta seleccionada if (objFila.AnmCodigo.Equals(0)) { return; } xfrmGraAuxDosis objFormulario; if (objFila.EstCodigo.Equals("")) { objFormulario = new xfrmGraAuxDosis(objFila.AnmCodigo, objFila.AnmAlternativo, objFila.IteNombre, true, true, 0); } else { objFormulario = new xfrmGraAuxDosis(objFila.AnmCodigo, objFila.AnmAlternativo, objFila.IteNombre, true, false, int.Parse(this.txtCodigo.Text)); } objFormulario.StartPosition = FormStartPosition.CenterParent; objFormulario.ShowDialog(); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }