예제 #1
0
        private void itxTransferencia_Leave(object sender, EventArgs e) {
            try {
                int varNumero = int.Parse((sender as TextEdit).Text);
                if (varNumero.Equals("") || varNumero.Equals(0)) return;
                if (this.colDetNumero.OptionsColumn.ReadOnly) return;
                if (this.objDetalleTra.Where(p => p.DetNumero == varNumero).Count() > 1) {
                    XtraMessageBox.Show("El documento ingresado ya se encuentra en la guia actual", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.grvTransferencia.FocusedColumn = colDetSecuenciaTrf;
                    return;
                }

                DataTable dtTransferencia = null;
                if (this.cmbMotivo.Text.Equals("T - TRANSFERENCIA"))
                    dtTransferencia = clsLogGuiaRemisionDetTra.funRecTransferencia(varNumero);
                else
                    dtTransferencia = clsLogGuiaRemisionDetTra.funRecSalida(varNumero);

                if (dtTransferencia.Rows.Count.Equals(0)) {
                    XtraMessageBox.Show("El documento ingresado no fue encontrado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.grvTransferencia.FocusedColumn = colDetSecuenciaTrf;
                    return;
                }
                else {
                    DataRow drTransferencia = dtTransferencia.Rows[0];                                                                                                      //Obtengo la primera fila de la consulta
                    clsLogGuiaRemisionDetTra objFilaTransferencia = (clsLogGuiaRemisionDetTra)this.grvTransferencia.GetRow(this.grvTransferencia.FocusedRowHandle);  //Obtengo la fila en la que se encuentra posicionado el usuario
                    objFilaTransferencia.DetCodBodOrigen = drTransferencia["DetCodBodOrigen"].ToString();
                    objFilaTransferencia.DetNomBodOrigen = drTransferencia["DetNomBodOrigen"].ToString();
                    objFilaTransferencia.DetCodBodDestino = drTransferencia["DetCodBodDestino"].ToString();
                    objFilaTransferencia.DetNomBodDestino = drTransferencia["DetNomBodDestino"].ToString();
                    objFilaTransferencia.DetPeso = (decimal)drTransferencia["DetPeso"];
                    objFilaTransferencia.DetPieza = int.Parse(drTransferencia["DetPieza"].ToString());
                    objFilaTransferencia.DetDocEntry = (int)drTransferencia["DetDocEntry"];

                    int varPosicionFila = this.grvTransferencia.FocusedRowHandle;
                    int varNumeroFila = objDetalleTra.Max(p => p.DetSecuencia);
                    object varFilaNueva = this.grvTransferencia.GetRowCellValue(this.grvTransferencia.RowCount - 1, colDetSecuencia);

                    if (varFilaNueva == null || varFilaNueva == DBNull.Value) {
                        if (this.grvTransferencia.RowCount - 1 == 0)
                            this.objDetalleTra.Add(new clsLogGuiaRemisionDetTra(0));
                    }
                    else if (this.grvTransferencia.FocusedRowHandle == this.grvTransferencia.RowCount - 1)
                        this.objDetalleTra.Add(new clsLogGuiaRemisionDetTra(varNumeroFila));

                    if (varPosicionFila != this.grvTransferencia.RowCount - 2) {
                        this.grvTransferencia.FocusedRowHandle = varPosicionFila;
                        this.grvTransferencia.FocusedColumn = colDetSecuencia; 
                    }
                    else { 
                        this.grvTransferencia.FocusedRowHandle = varPosicionFila + 1; 
                        this.grvTransferencia.FocusedColumn = colDetSecuencia; 
                    }
                    this.grcTransferencia.RefreshDataSource();
                }

            }
            catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }
예제 #2
0
 private void smiEliminar_Click(object sender, EventArgs e)
 {
     try
     {
         if (this.grvFacturas.IsFocusedView) {
             clsLogGuiaRemisionDetFac objFilaFactura = (clsLogGuiaRemisionDetFac)this.grvFacturas.GetRow(this.grvFacturas.FocusedRowHandle);
             lstEliminados.Add(objFilaFactura.DetDocEntry);
             objDetalleFac.Remove(objFilaFactura);
             this.grcFacturas.RefreshDataSource();
         }
         else if (this.grvTransferencia.IsFocusedView) {
             clsLogGuiaRemisionDetTra objFilaTransferencia = (clsLogGuiaRemisionDetTra)this.grvTransferencia.GetRow(this.grvTransferencia.FocusedRowHandle);
             objDetalleTra.Remove(objFilaTransferencia);
             this.grcTransferencia.RefreshDataSource();
         }
     }
     catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
 }