none
Como borrar fila seleccionada de un datagridview en visual studio y Mysql.net RRS feed

  • Pregunta

  • En el boton eliminar tengo este codigo

               conect.obtenerConexion();
               dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);

    pero solamente lo elimina del grid y no de la base, alguien sabe como puedo borrarlo tambien de la base de datos?


    Gibran Trujillo Mtz

    sábado, 30 de junio de 2018 2:34

Respuestas

  • Depende de los datos a los que este enlazado el datagridview. Lo más fácil sería si está enlazada a una lista de objetos, por ejemplo, si tenes una clase Alumno, entonces podrías enlazar el DGV a una lista de objetos de la clase Alumno, algo así: 

    List<Alumno> Alumnos = ObtenerAlumnos(); //creamos la lista de alumnos

    dataGridView1.DataSource = Alumnos;

    Para eliminar el alumno seleccionado:

    Alumno alActual = (Alumno)dataGridView.CurrentRow.DataBoundItem;

    alActual.Eliminar(); //Se supone que la clase Alumno tiene el metodo "Eliminar". Si no lo tiene lo agregás.

    sábado, 30 de junio de 2018 3:13
  • Felicitaciones!!!! Conozco también esa forma de enlazar los datos, el dataadapter se ocupa de actualizar todas las filas modificadas y eliminadas, Incluso creo que se le pueden dar algunos parametros si no se  quiere actualizar todo, por ejemplo si se quiere actualizar solo las filas eliminadas pero no las que solo se le modificó alguna celda.
    domingo, 1 de julio de 2018 22:11

Todas las respuestas

  • Depende de los datos a los que este enlazado el datagridview. Lo más fácil sería si está enlazada a una lista de objetos, por ejemplo, si tenes una clase Alumno, entonces podrías enlazar el DGV a una lista de objetos de la clase Alumno, algo así: 

    List<Alumno> Alumnos = ObtenerAlumnos(); //creamos la lista de alumnos

    dataGridView1.DataSource = Alumnos;

    Para eliminar el alumno seleccionado:

    Alumno alActual = (Alumno)dataGridView.CurrentRow.DataBoundItem;

    alActual.Eliminar(); //Se supone que la clase Alumno tiene el metodo "Eliminar". Si no lo tiene lo agregás.

    sábado, 30 de junio de 2018 3:13
  • La cosa es que mi coneccion es con puro codigo entonces mi grid esta vacio, para que te des una idea te dejo fotos de mi codigo

    Gibran Trujillo Mtz

    domingo, 1 de julio de 2018 0:30
  • y quiero elimnar toda una fila de la tabla clientes

    Gibran Trujillo Mtz

    domingo, 1 de julio de 2018 0:31
  • Ya pude amigo gracias c:, era asi:
    conect.obtenerConexion();
                dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
                actualizar = new MySqlCommandBuilder(sda);
    
    
    
    
    
    
                sda.Update(dt);


    Gibran Trujillo Mtz

    domingo, 1 de julio de 2018 2:05
  • Y se establecen estas variables al principio de todo y sobre de esas se usan todas las consultas

     DataTable dt;
            MySqlCommandBuilder actualizar;
            MySqlDataAdapter sda;


    Gibran Trujillo Mtz

    domingo, 1 de julio de 2018 2:07
  • Felicitaciones!!!! Conozco también esa forma de enlazar los datos, el dataadapter se ocupa de actualizar todas las filas modificadas y eliminadas, Incluso creo que se le pueden dar algunos parametros si no se  quiere actualizar todo, por ejemplo si se quiere actualizar solo las filas eliminadas pero no las que solo se le modificó alguna celda.
    domingo, 1 de julio de 2018 22:11