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

Si la página del DataGrid quedó vacía

Estas en el tema de Si la página del DataGrid quedó vacía en el foro de .NET en Foros del Web. Hola a tod@s: Estoy trabajando en C#. Tengo un DataGrid con las operaciones de Modificar y Eliminar en cada fila. Dichas operaciones funcionan perfectamente. Supongamos ...
  #1 (permalink)  
Antiguo 30/04/2007, 14:53
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Si la página del DataGrid quedó vacía

Hola a tod@s:

Estoy trabajando en C#.

Tengo un DataGrid con las operaciones de Modificar y Eliminar en cada fila.

Dichas operaciones funcionan perfectamente.

Supongamos que el PageSize del DataGrid es de 2.

Lo que quiero controlar es que si la página recorrida es la última del DataGrid, y solamente hay un único registro en esta y se decide eliminar éste (ó si se escoje eliminar todos las filas de ésta última página a la vez, estilo como en las páginas de correo que puedes eliminar varias filas a la vez), pues que no dé error por no tener registros en esa página y el DataGrid retroceda a la página anterior.
__________________
Saludos,

zacktagnan.
=================================================
  #2 (permalink)  
Antiguo 30/04/2007, 15:04
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Re: Si la página del DataGrid quedó vacía

Exactamente, el error que da el explorador cuando la página recorrida se ha quedado sin registros es:

Código:
Error de servidor en la aplicación '/NOM_APLICACION'.
--------------------------------------------------------------------------------

Valor CurrentPageIndex no válido. Debe ser >= 0 y < PageCount. 
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código. 

Detalles de la excepción: System.Web.HttpException: Valor CurrentPageIndex no válido. Debe ser >= 0 y < PageCount.
__________________
Saludos,

zacktagnan.
=================================================
  #3 (permalink)  
Antiguo 03/05/2007, 07:59
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Re: Si la página del DataGrid quedó vacía

¿Ninguna pista...?
__________________
Saludos,

zacktagnan.
=================================================
  #4 (permalink)  
Antiguo 05/05/2007, 18:06
 
Fecha de Ingreso: mayo-2007
Mensajes: 12
Antigüedad: 17 años
Puntos: 0
Re: Si la página del DataGrid quedó vacía

Se te hara una pregunta idiota pero puede que sea por hay buelves a darle databoun a tu control despues que lo barres ???
o lo recargas desde la base de datos ???
???
  #5 (permalink)  
Antiguo 18/05/2007, 15:33
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Re: Si la página del DataGrid quedó vacía

Cita:
Se te hara una pregunta idiota pero puede que sea por hay buelves a darle databoun a tu control despues que lo barres ???
o lo recargas desde la base de datos ???
???
Pues sí. Después de ejecutar el DELETE, lanzo la función de actualizar el listado que es la que lleva el código para cargar los datos en el DataGrid, y que entre otras cosas lleva el DataSource que rellena el DataGrid y el DataBind...

No entiendo lo que quieres decir con eso de que "...si lo recargo desde la base de datos..." ¿Cómo es eso? ¿Sería la solución?

A ver esto es lo que tengo en el proceso del DELETE
Código:
private void listPelis_DG_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
	string sql_borrado = "DELETE FROM PELICULAS WHERE peli_id = '" + listPelis_DG.DataKeys[(int)e.Item.ItemIndex] + "'";
	SqlCommand coman_borrado = new SqlCommand(sql_borrado, conexion);
	coman_borrado.Connection.Open();
	coman_borrado.ExecuteNonQuery();
	listPelis_DG.EditItemIndex = -1;
	listPelis_DG.SelectedIndex = -1;
	conexion.Close();
	actualizar_Listado();//RECARGANDO EL DATAGRID
}
Y esto es lo que tengo en el proceso de cargar el DataGrid
Código:
public void actualizar_Listado()
{
	conexion.Open();
	string sql = "SELECT * FROM PELICULAS ORDER BY peli_id";
	SqlDataAdapter comando = new SqlDataAdapter(sql, conexion);
	DataSet ds = new DataSet();
	comando.Fill(ds,"tabla_AdmListPelis");
	int num_TOT_Pelis = ds.Tables["tabla_AdmListPelis"].Rows.Count;
	if (num_TOT_Pelis <= 0)
	{
		noHayPelis = "En estos momentos, no hay ninguna pel&iacute;cula registrada.";
	}
	else
	{
		listPelis_DG.DataSource = ds.Tables["tabla_AdmListPelis"].DefaultView;
	}
	listPelis_DG.DataBind();
	conexion.Close();
}
Recuerdo que este proyecto es en C# con ASP.NET 1.1
__________________
Saludos,

zacktagnan.
=================================================
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 22:45.