none
eliminar fila de datagridview RRS feed

  • Pregunta

  • buenas tngo el siguiente code en el cual a través d un botón tengo q eliminar una fila del datagrid.....pero me aparece el mensaje d error que no se controlo NOTSUPPORTEDEXCEPTION y la propiedad ReadOnly del grid esta en false que debo hacer???slds!

     private void radButton5_Click(object sender, EventArgs e)
            {
                int fila = rgv.CurrentRow.Index;
                
                if (fila == 0)
                    radButton5.Enabled = false;
                rgv.Rows.RemoveAt(fila);
            }

    lunes, 4 de mayo de 2015 21:32

Respuestas

  • hola

    >>como m posiciono en la fila del datable para borrarlo como eria el método?

    imagino que en algunas d elas columnas del grid defines el id de la entidad, bien entonces debes tomarlo y usarlo para buscar que row del datatable coincide con ese id  y esa es la row que debes eliminar, no se usa ningun index usas datos del grid y del datatable

    Cómo: Buscar una fila específica en un objeto DataTable

    co una texnica como se explica en el link puedes localizar la row del datatable eliminarla y luego volver asignar los datos al grid

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 5 de mayo de 2015 12:39

Todas las respuestas

  •    Que tal amigo, proba con esto usando el CurrentRow

      grdGrilla.Rows.Remove(grdGrilla.CurrentRow);

    OBS: Favor vota si te es útil la información.
    Saludos
    Bader Molinas - Paraguay
    https://deveintel.wordpress.com/


    lunes, 4 de mayo de 2015 21:40
  • no me ha funcionado.....agrego además que los datos q tngo en el grid los obtengo d una consulta a una base d datos sql.....no se si influye esto
    lunes, 4 de mayo de 2015 21:47
  •   proba con esto
    foreach (DataGridViewRow row in GrillaDetalle.SelectedRows) {	
    	GrillaDetalle.Rows.Remove(row);
    }

    lunes, 4 de mayo de 2015 21:57
  • perdón m sigue sin funcionar m dice que es d solo lectura.........
    lunes, 4 de mayo de 2015 22:09
  • hola

    como estas asignando los datos al grid ? usas el DataSource o el Rows.Add()

    lo pregunto porque no puedes usar el RemoveAt() si has asignado los datos por medio del DataSource

    deberas tomar el origen de datos y remover desde elli para volver asignar los datos al grid

    o sea si asignaste un datatable usar

    DataTable dt = (DataTable)rgv.DataSource;
    
    //aqui remueves el row del dt
    
    rgv.DataSource = dt; //vuelve asignar para reflejar los cambios


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 4 de mayo de 2015 22:56
  • como m posiciono en la fila del datable para borrarlo como eria el método???

    grax

    lunes, 4 de mayo de 2015 23:58
  • o sea como m posiconaria en el datatable como lo hago asi en grid:

    int fila = rgv.CurrentRow.Index;

    martes, 5 de mayo de 2015 0:28
  •          Creo que lo que quieres hacer es borrar de la base de datos verdad??. Porque los casos que te pase es cuando se realiza un Rows.Add()  y te borrara  de la grilla.

              Si tienes enlazado a una grilla debes hacer lo siguiente.

    DataTable dt = (DataTable)rgv.DataSource;

    using (var con = new SqlConnection("conexion")) { var cmd = new SqlCommand("delete from tala where idTabla=@id", con); con.Open(); cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@id",rgv.CurrentRow.Cells["id"].Value); cmd.ExecuteNonQuery(); con.Close();

    rgv.DataSource = dt; //vuelve asignar para reflejar los cambios


    OBS: Favor vota si te es útil la información.
    Saludos
    Bader Molinas - Paraguay
    https://deveintel.wordpress.com/


    martes, 5 de mayo de 2015 11:58
  • hola

    >>como m posiciono en la fila del datable para borrarlo como eria el método?

    imagino que en algunas d elas columnas del grid defines el id de la entidad, bien entonces debes tomarlo y usarlo para buscar que row del datatable coincide con ese id  y esa es la row que debes eliminar, no se usa ningun index usas datos del grid y del datatable

    Cómo: Buscar una fila específica en un objeto DataTable

    co una texnica como se explica en el link puedes localizar la row del datatable eliminarla y luego volver asignar los datos al grid

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 5 de mayo de 2015 12:39