Ver Mensaje Individual
  #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