Mensaje dentro de Principiantes

Responder 
#1 - 11/06/2008 21:19:03 Reporta abuso | Link Permanente
willman Hombre
Fecha de registro: 11/06/2008
0 post en este tema
1 post en principiantes
1 post en todos los foros
Eliminar fila de un GridView

Responder Citar
Hola a Todos he empezado a utilizar Asp.Net y bueno por los tutoriales leidos y manuales encontrados, voy aprendiendo como muchos y revisando las rptas de los foros que hay en la red, espro me puedan ayudar.

Tengo un 1 gridview al cual le asigno un datatable usando el datasource y luego hago un databind al gridview y bueno voy insertando mas registros, el gridview le agregue el command field "eliminar", cuando ejecuto la pagina el gridview tiene el datasource sin enlazar, es en ese momento que uso una serie de combos y cajas de texto para insetar filas en mi datatable y recien ahi asigno el datatable al gridview y bueno sigo insertando mas y mas registros, mi duda es eliminar una fila he probado varias formas encontradas por los foros pero no me han servido, despues de haber llenado mi gridview con mi datable hago un column.count al gridview y solo veo que me da 1 columna, esa columna es la del commandfield "eliminar" y ademas el gridview tiene activado de generar campos automaticamente ¿como puedo eliminar una fila?



Volver arriba

Respuestas
Mostrar de en 15
#2 - 22/11/2009 15:06:15 Reporta abuso | Link Permanente
adan
Usuario no registrado
RE: Eliminar fila de un GridView

Responder Citar
una forma sencilla de eliminar una fila de un gridview es a traves de una variable de sesion. se supone que se quiere borrar la fila solamente del grid, no de la fuente de datos:

Dim i As Short

i = Grid.SelectedIndex

tabDelete = Session("tabla")

tabDelete.Rows.RemoveAt(i)

Session("tabla") = tabDelete

Me.Grid.DataSource = tabDelete

Me.Grid.DataBind()


Volver arriba

#3 - 27/06/2008 22:30:09 Reporta abuso | Link Permanente
Hanz
Usuario no registrado
RE: Eliminar fila de un GridView

Responder Citar
Te explico el codigo q eh ingresado.

Primero perdon por algun codigo q no se entienda.
int intSecuencial -> recupera un codigo que se encuentra en la propiedad DatakeysName de tu Grilla que en este caso tiene nombre "objetoKey".

aunque debio llamarse "intCampoClave".
                                 DataTable)ViewState["TablaRecuperar"]; Este codigo no se entiende... lo que quise hacer es recuperar la tabla con la q llenas tu Grilla en una DataTable Temporal

        Asi -> DataTable dtTemp = (DataTable) ViewState["TablaRecuperar"];

Lo demas creo q si es entendible...
Cualquier consulta o duda, hasmela saber. o escribeme a mi correo.

Hanz Castillo Meza.
Desarrollador T.I.
hanz_2912@hotmail.com
Volver arriba

#4 - 27/06/2008 22:13:05 Reporta abuso | Link Permanente
Hanz
Usuario no registrado
RE: Eliminar fila de un GridView

Responder Citar
Excuse me...
Esta Linea de Codigo la corrijo...
        if (Convert.ToInt32(row["intCampoClave"].ToString()) == intPosicion)

tiene q ser asi...
        if (Convert.ToInt32(row["intCampoClave"].ToString()) == intSecuencial)
Volver arriba

#5 - 27/06/2008 22:11:16 Reporta abuso | Link Permanente
Hanz
Usuario no registrado
RE: Eliminar fila de un GridView

Responder Citar
Mi estimado te voy a plantear una de las tantas soluciones que le puedes dar a tu problema.

Para que puedas eliminar una fila de tu grilla en primer lugar tendras que agregar una columna Command Field (Delete o Eliminar  dependiendo el idioma de tu VS.Net). o en el mejor de los casos podras agregar una columna plantilla(Esta es la q utilizo yo para mejor estetica y personalización). Bueno el tema es que con esta columna plantilla podras agregar un ImageButton o cualquier otro control. Este boton tiene un CommandName la cual pongo Delete. Terminado esto. salimos de la edicion de plantillas y vas al evento RowDeleting.
e aqui el evento que se ejecutara al presionar el boton(ImageButton). Ejem:
 
protected void gdvGrilla_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
        int intSecuencial = Convert.ToInt32(this.gdvParentChild.DataKeys[e.Row].Values["objetoKey"].ToString());
        DataTable dtTemp = new DataTable();
        DataTable)ViewState["TablaRecuperar"];
        int intPosicion = -1;
        bool booExiste = false;
        foreach (DataRow row in dtTemp.Rows)
        {
                intPosicion += 1;
                if (Convert.ToInt32(row["intCampoClave"].ToString()) == intPosicion)
                booExiste = true;
        }
 
        if (booExiste)
                dtTemp.Rows.RemoveAt(intPosicion);
        gdvGrilla.DataSource = dtTemp.defaultView;
        gdvGrilla.DataBind();
}
Volver arriba

#6 - 12/06/2008 11:02:21 Reporta abuso | Link Permanente
Javier Santamaria Hombre
Fecha de registro: 02/05/2007
1 post en este tema
188 posts en principiantes
194 posts en todos los foros
RE: Eliminar fila de un GridView

Responder Citar
Hola,

Puedes poner como enlazas el datatable al grid y como creas las filas en el datatable?

Por casualidad haces algun gridview.bind() en algun momento?

Saludos
Volver arriba
Mostrar de en 15