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

Problema con datagrid

Estas en el tema de Problema con datagrid en el foro de .NET en Foros del Web. Hola a tod@s, necesito paginar un datagrid. El problema es que ademas de paginar en el grid hay un boton para enviar el porducto elegido ...
  #1 (permalink)  
Antiguo 19/05/2005, 02:42
 
Fecha de Ingreso: marzo-2005
Mensajes: 94
Antigüedad: 19 años, 8 meses
Puntos: 0
Problema con datagrid

Hola a tod@s, necesito paginar un datagrid. El problema es que ademas de paginar en el grid hay un boton para enviar el porducto elegido a una cesta. He hecho otro ejemplo mas simple, un grid con un boton que al pulsarlo pone en un label el id del producto(con el evento onitemcommand), ademas este grid esta paginado. El codigo es:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
presenta() 'Introducir aquí el código de usuario para inicializar la página
End Sub
Public Sub elegir(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs )
Dim id As Integer
id = e.Item.Cells(1).Text
Me.Label1.Text = id
End Sub
Sub paginar(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
Me.DataGrid1.CurrentPageIndex = e.NewPageIndex
presenta()
End Sub
Public Sub presenta()
Dim conn As New OleDbConnection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\tienda.mdb"
Dim da As New OleDbDataAdapter("select id,titulo,genero,año,precio,actores,descripcion,di rector from peliculas", conn)
Dim ds As New DataSet
conn.Open()
da.Fill(ds, "generos")
Me.DataGrid1.DataSource = ds.Tables("generos")
Me.DataGrid1.DataBind()
conn.Close()
End Sub
El problema es que al pulsar el boton del grid todo va bien ( pone el id en el label), pero al paginar, me da el error siguiente:
El argumento especificado está fuera del intervalo de valores válidos. Nombre del parámetro: index
y me señala la linea: id = e.Item.Cells(1).Text
¿Alguien sabe porque me da error, o que es lo que hago mal?¿Es mejor usar otro evento para lo del label en lugar del onitemcommand?. Muchas gracias a tod@s.
  #2 (permalink)  
Antiguo 22/05/2005, 03:58
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 22 años, 9 meses
Puntos: 1
Proba id = e.Item.Cells(0).Text , en vez de 1, porque son elementos "zero based", o sea , que el 1er. elemento es el 0, and so..
  #3 (permalink)  
Antiguo 23/05/2005, 14:00
 
Fecha de Ingreso: marzo-2005
Mensajes: 94
Antigüedad: 19 años, 8 meses
Puntos: 0
Cita:
Iniciado por Nochero
Proba id = e.Item.Cells(0).Text , en vez de 1, porque son elementos "zero based", o sea , que el 1er. elemento es el 0, and so..
Gracias por tu respuesta Nochero, si pones id=e.item.cells(0).text, entonces te da error al pulsar el boton del grid para presentar el id en el label, ( e.item.cells(0) es la primera columna, que es el boton, logicamente en el error te dice que la cadena de entrada no tiene el formato correcto). Al pulsar para paginar te da el mismo error.
Saludos y 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 13:53.