Foros del Web » Programación para mayores de 30 ;) » .NET »

Borrar ultimo elemento del datagrid y luego paginar.

Estas en el tema de Borrar ultimo elemento del datagrid y luego paginar. en el foro de .NET en Foros del Web. Hola a todos. Ayudenme por favor!!! Sucede que tengo un Datagrid con paginacion, pero cuando borro el ultimo elemento, si es el unico que hay ...
  #1 (permalink)  
Antiguo 18/02/2005, 12:43
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 20 años, 2 meses
Puntos: 0
Borrar ultimo elemento del datagrid y luego volver a paginar.

Hola a todos. Ayudenme por favor!!!
Sucede que tengo un Datagrid con paginacion, pero cuando borro el ultimo elemento, si es el unico que hay en esa pagina, no me muestra los demas elementos.
Sabe alguien como puedo resolver mi problema?
Saludos desde Cuba y gracias de antemano.
Yasahe

Última edición por yasahe; 21/02/2005 a las 09:30
  #2 (permalink)  
Antiguo 20/04/2006, 09:32
 
Fecha de Ingreso: abril-2006
Mensajes: 1
Antigüedad: 18 años, 11 meses
Puntos: 0
hola creo que esto te puede servir.

private void DgPrueba_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if((DgPrueba.CurrentPageIndex != 0) && (DgPrueba.CurrentPageIndex == DgPrueba.PageCount - 1))
{
DgPrueba.CurrentPageIndex = DgPrueba.CurrentPageIndex - 1;
DataRow[] r = RetornarDatos.Tables[0].Select("Pk1 = '" + DgPrueba.DataKeys[e.Item.ItemIndex] + "'");
if(r.Length==1)
{
r[0].Delete();
}
}
else
{
DataRow[] r = RetornarDatos.Tables[0].Select("Pk1 = '" + DgPrueba.DataKeys[e.Item.ItemIndex] + "'");
if(r.Length==1)
{
r[0].Delete();
}
}
DgPrueba.DataSource=(DataSet)Session["prmDs"];
DgPrueba.DataBind();
}
  #3 (permalink)  
Antiguo 20/04/2006, 10:37
Rodolfo Israel
Invitado
 
Mensajes: n/a
Puntos:
Buena solucion, yo actuamente hago eso asi:
Código:
private void CargarCatalogo()
        {

            ...Lleno mi dataset desde mi fuente de datos.

            try
            {
                dgtCatalogo.DataBind();
            }
            catch(System.Web.HttpException ex)
            { 
                if(ex.ErrorCode == -2147467259)//Este es el código de un error de páginado
                {
                    dgtCatalogo.CurrentPageIndex -= 1;
                    dgtCatalogo.DataBind();
                }
            } 
        }
En mi caso, cada vez que borro algun elemento llamo a mi funcion CargarCatalogo(), es otra solucion al problema, en este caso, manejando la exepcion, el post contrario, se anticipa a la exepcion, creo que lo correcto es anticiparse en todo caso a la exepción como en el codigo anterior:

Código:
   Originalmente escrito por Zafra


private void DgPrueba_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs   e)
{
if((DgPrueba.CurrentPageIndex != 0) &&   (DgPrueba.CurrentPageIndex==DgPrueba.PageCount - 1))
{                
DgPrueba.CurrentPageIndex = DgPrueba.CurrentPageIndex - 1;
DataRow[] r = RetornarDatos.Tables[0].Select("Pk1 = '" + DgPrueba.DataKeys[e.Item.ItemIndex] + "'");        
if(r.Length==1)
{
r[0].Delete();
}                                 
}
else
{                
DataRow[] r = RetornarDatos.Tables[0].Select("Pk1 = '" + DgPrueba.DataKeys[e.Item.ItemIndex] + "'");        
if(r.Length==1)
{
r[0].Delete();
}                                  
}    
DgPrueba.DataSource=(DataSet)Session["prmDs"]; 
DgPrueba.DataBind();
}
Saludos.

Última edición por Rodolfo Israel; 20/04/2006 a las 10:44
  #4 (permalink)  
Antiguo 25/04/2006, 15:04
 
Fecha de Ingreso: abril-2006
Mensajes: 40
Antigüedad: 18 años, 10 meses
Puntos: 0
Lo que se tiene que hacer es moverte a una pagina anterior, yo lo he solucionado asi
Código:
With DataGrid1
	If .CurrentPageIndex > .Items.Count \ .PageSize Then
		.CurrentPageIndex = (.Items.Count - 1) \ .PageSize
	End If
	.DataSource = ds
	.DataBind()
End With
  #5 (permalink)  
Antiguo 24/05/2006, 16:51
 
Fecha de Ingreso: mayo-2006
Mensajes: 55
Antigüedad: 18 años, 10 meses
Puntos: 0
Duda

Hola Emmanuel, oye el codigo que pusiste para solucionar el borrado de un registro dentro de un DataGrid con paginacion me lo podrias explicar? esque yo acabo de resolver un problema que tenia con ese codigo que mostraste.

Espero tu respuesta.

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:19.