예제 #1
0
 private void PopulateGrid()
 {
     _dsDetalle = SolicitudDetalleDAC.GetData(_currentRow["CodSucursal"].ToString(), _currentRow["NumSolicitud"].ToString());
     _dtDetalle = _dsDetalle.Tables[0];
     this.dtgDetalle.DataSource = _dtDetalle;
     // this.dtNavigator.DataSource = _dtDetalle;
 }
 private void MasterDetailSeparateGrid_Load(object sender, EventArgs e)
 {
     try
     {
         _dtSolicitud        = SolicitudDAC.GetData("*", "*").Tables["Data"];
         _dtSolicitudDetalle = SolicitudDetalleDAC.GetData("*", "*").Tables[0];
         PopulateGrid();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #3
0
 private void frmMasterDetail_Load(object sender, EventArgs e)
 {
     try
     {
         _dsSolicitud = new DataSet();
         _dsSolicitud.Tables.Add(SolicitudDAC.GetData("*", "*").Tables["Data"].Copy());
         _dsSolicitud.Tables.Add(SolicitudDetalleDAC.GetData("*", "*").Tables[0].Copy());
         PopulateGrid();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #4
0
        private void btnGuardar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (Accion == "Edit")
            {
                lblStatusBar.Caption = "Actualizando : " + _currentRow["NumSolicitud"].ToString();

                Application.DoEvents();
                _currentRow.BeginEdit();
                _currentRow["NumSolicitud"]     = this.txtNumSolicitud.Text.Trim();
                _currentRow["CodSucursal"]      = this.txtCodSucursal.Text.Trim();
                _currentRow["CodCategoria"]     = this.slkupCategoria.EditValue;
                _currentRow["Descripcion"]      = this.txtDescr.Text.Trim();
                _currentRow["Estado"]           = this.txtEstado.Text.Trim();
                _currentRow["UsuarioSolicitud"] = this.txtUsuario.Text.Trim();
                _currentRow["FechaSolicitud"]   = this.txtFecha.Text.Trim();

                _currentRow.EndEdit();

                DataSet _dsChanged = _dsSolicitud.GetChanges(DataRowState.Modified | DataRowState.Added);

                bool okFlag = true;
                if (_dsChanged != null && _dsChanged.HasErrors)
                {
                    okFlag = false;
                    string msg = "Error en la fila con el tipo Id";

                    foreach (DataTable tb in _dsChanged.Tables)
                    {
                        if (tb.HasErrors)
                        {
                            DataRow[] errosRow = tb.GetErrors();

                            foreach (DataRow dr in errosRow)
                            {
                                msg = msg + dr["NumSolicitud"].ToString();
                            }
                        }
                    }

                    this.lblStatusBar.Caption = msg;
                }



                //Si no hay errores

                if (okFlag)
                {
                    ConnectionManager.BeginTran();
                    SolicitudDAC.SetTransactionToAdaptador(true);
                    SolicitudDetalleDAC.SetTransactionToAdaptador(true);

                    SolicitudDAC.oAdaptador.Update(_dsChanged, "Data");
                    SolicitudDetalleDAC.oAdaptador.Update(_dsDetalle, "Data");

                    this.lblStatusBar.Caption = "Actualizado " + _currentRow["Numsolicitud"].ToString();
                    Application.DoEvents();

                    _dsSolicitud.AcceptChanges();
                    _dsDetalle.AcceptChanges();

                    ConnectionManager.CommitTran();
                    SolicitudDAC.SetTransactionToAdaptador(false);
                    SolicitudDetalleDAC.SetTransactionToAdaptador(false);

                    PopulateGrid();
                    HabilitarControles(false);
                }
                else
                {
                    _dsSolicitud.RejectChanges();
                }
            }
            else
            {
                //nuevo registro

                _currentRow["NumSolicitud"]     = this.txtNumSolicitud.Text.Trim();
                _currentRow["CodSucursal"]      = this.txtCodSucursal.Text.Trim();
                _currentRow["CodCategoria"]     = this.slkupCategoria.EditValue;
                _currentRow["Descripcion"]      = this.txtDescr.Text.Trim();
                _currentRow["Estado"]           = this.txtEstado.Text.Trim();
                _currentRow["UsuarioSolicitud"] = this.txtUsuario.Text.Trim();
                _currentRow["FechaSolicitud"]   = this.txtFecha.Text.Trim();

                _dtSolicitud.Rows.Add(_currentRow);
                try
                {
                    ConnectionManager.BeginTran();
                    SolicitudDAC.SetTransactionToAdaptador(true);
                    SolicitudDetalleDAC.SetTransactionToAdaptador(true);

                    SolicitudDAC.oAdaptador.Update(_dsSolicitud, "Data");
                    _dsSolicitud.AcceptChanges();

                    //Agregar el detalle
                    SolicitudDetalleDAC.oAdaptador.Update(_dsDetalle, "Data");
                    _dsDetalle.AcceptChanges();

                    ConnectionManager.CommitTran();
                    SolicitudDAC.SetTransactionToAdaptador(false);
                    SolicitudDetalleDAC.SetTransactionToAdaptador(false);

                    this.lblStatusBar.Caption = "Se ha ingresado un nuevo registro";
                    Application.DoEvents();
                    PopulateGrid();
                    HabilitarControles(false);
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    _dsSolicitud.RejectChanges();
                    _dsDetalle.RejectChanges();
                    ConnectionManager.RollBackTran();
                    MessageBox.Show(ex.Message);
                }
            }
        }