Ver Mensaje Individual
  #9 (permalink)  
Antiguo 25/01/2012, 13:05
JuaNiNNaio
 
Fecha de Ingreso: diciembre-2007
Mensajes: 124
Antigüedad: 16 años, 11 meses
Puntos: 2
Respuesta: Problema actualización datagrid despues de INSERT C#

Cita:
Iniciado por sebas_20_jv Ver Mensaje
Hola Amigo, La verdad no se cual sera la forma en como enlazas esos dataset al Grid,
Pero puedes intentar metiendo todo en una funcion por ejemplo :

public void CargarDatos()
{

// TODO: esta línea de código carga datos en la tabla 'bdDataSet.REPARACIONES' Puede moverla o quitarla según sea necesario.
this.rEPARACIONESTableAdapter.Fill( this.bdDataSet.REPARACIONES );
// TODO: esta línea de código carga datos en la tabla 'bdDataSet.PROTESISXCLIENTE' Puede moverla o quitarla según sea necesario.
this.pROTESISXCLIENTETableAdapter.Fill( this.bdDataSet.PROTESISXCLIENTE );
// TODO: esta línea de código carga datos en la tabla 'bdDataSet.CLIENTES' Puede moverla o quitarla según sea necesario.
this.cLIENTESTableAdapter.Fill( this.bdDataSet.CLIENTES );
}

Luego en el load pones :

private void Form1_Load( object sender, EventArgs e )
{
CargarDatos();
}

Y esa misma funcion la llamas cuando hagas el Insert...
Esta opcion no me funciona, le hago un debug y me entra en el CargarDatos despues del Insert, pero nada, el grid no se actualiza.

Cita:
Iniciado por totobycrg Ver Mensaje
Easy ;):

Código de la funcion que hace una consulta a SQL y luego llena el DataGrid


Código del DataGrid en el "blablabla.aspx"



Saludos, espero te sirva dame uP a mi karma jajaja thx
No es asp como estoy programando, estoy programando en C#.

Os dejo parte del codigo principal del programa a ver si podeis sacar algo en claro:

Código:
        private void cLIENTESBindingNavigatorSaveItem_Click( object sender, EventArgs e )
        {
            this.Validate();
            this.cLIENTESBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll( this.bdDataSet );

        }

        private void CargarDatos()
        {
            this.rEPARACIONESTableAdapter.Fill( this.bdDataSet.REPARACIONES );
            this.pROTESISXCLIENTETableAdapter.Fill( this.bdDataSet.PROTESISXCLIENTE );
            this.cLIENTESTableAdapter.Fill( this.bdDataSet.CLIENTES );
        }

        private void Form1_Load( object sender, EventArgs e )
        {
            CargarDatos();
        }

        private void btAddCliente_Click( object sender, EventArgs e )
        {
            AddCliente addCliente = new AddCliente();
            addCliente.Show();
        }

        public void addCliente( string dni, string nombre, string apellidos, string telefono,
                                string direccion, string num_cliente_noah )
        {
            try
            {
                string path = Application.StartupPath;
                string cadena = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + "\\bd.mdb;Persist Security Info=False";
                OleDbConnection conexion = new OleDbConnection( cadena );

                string sql = "INSERT INTO CLIENTES(DNI,NOMBRE,APELLIDOS,TELEFONO,DIRECCION,NUM_CLIENTE_NOAH,NUM_CLIENTE_INTERNO) VALUES (@DNI, @NOMBRE, @APELLIDOS, @TELEFONO, @DIRECCION, @NUM_CLIENTE_NOAH, @NUM_CLIENTE_INTERNO)";
                OleDbCommand orden = new OleDbCommand( sql, conexion );
                orden.Parameters.Add( new OleDbParameter( "@DNI", OleDbType.VarChar ) );
                orden.Parameters["@DNI"].Value = dni;
                orden.Parameters.Add( new OleDbParameter( "@NOMBRE", OleDbType.VarChar ) );
                orden.Parameters["@NOMBRE"].Value = nombre;
                orden.Parameters.Add( new OleDbParameter( "@APELLIDOS", OleDbType.VarChar ) );
                orden.Parameters["@APELLIDOS"].Value = apellidos;
                orden.Parameters.Add( new OleDbParameter( "@TELEFONO", OleDbType.VarChar ) );
                orden.Parameters["@TELEFONO"].Value = telefono;
                orden.Parameters.Add( new OleDbParameter( "@DIRECCION", OleDbType.VarChar ) );
                orden.Parameters["@DIRECCION"].Value = direccion;
                orden.Parameters.Add( new OleDbParameter( "@NUM_CLIENTE_NOAH", OleDbType.VarChar ) );
                orden.Parameters["@NUM_CLIENTE_NOAH"].Value = num_cliente_noah;
                orden.Parameters.Add( new OleDbParameter( "@NUM_CLIENTE_INTERNO", OleDbType.VarChar ) );
                orden.Parameters["@NUM_CLIENTE_INTERNO"].Value = num_cliente_noah + "/" + DateTime.Now.Year;

                orden.Connection.Open();
                orden.ExecuteNonQuery();
                orden.Connection.Close();

                // TO DO: Hacer que se actualice sin tener que reiniciar la puta pp
                CargarDatos();
                //Application.Restart();
            }
            catch( Exception ex )
            {
                MessageBox.Show( ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error );
            }
        }