Principales respuestas
Seleccionar fila en gridview filtrado

Pregunta
-
Hola,
Tengo un gridview que filtro por el campo nombre con el siguiente código:
Protected Sub btnBuscar_Click(sender As Object, e As EventArgs) Handles btnBuscar.Click
filtro = String.Format("Nombre Like '%{0}%'", tbnombre.Text)
dv.RowFilter = filtro
GridView1.DataSource = dv
GridView1.DataBind()
End SubTambién tengo un botón en cada fila que me permite seleccionar un cliente y abrir su ficha. El código es el siguiente:
Private Sub GridView1_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GridView1.RowCommand
If e.CommandName = "open" Then
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
variable.cliente = CInt(GridView1.Rows(index).Cells(2).Text)
variable.origen = "ConsultaClientes"
variable.nuevoregistro = False
Response.Redirect("MantClientes.aspx")
End If
End SubMi problema es el siguiente. Cuando aplico un filtro y después selecciono una de las filas del gridview filtrado, me devuelve un número de fila en el campo index y busco su número de cliente que pongo en la variable.cliente.
Sin embargo lo que ocurre es que si por ejemplo tengo 50 clientes y filtro los que se llaman Pepe que son 5. Selecciono el segundo de los Pepe, en realidad me devuelve el segundo cliente de la lista total, no el segundo cliente de la lista filtrada.
Espero podáis ayudarme.
Respuestas
-
hola
>>Selecciono el segundo de los Pepe, en realidad me devuelve el segundo cliente de la lista total, no el segundo cliente de la lista filtrada.
de casualidad cargas el grid en el evento Page_Load ? si lo haces verificas que ese codigo este dentro del
If Not IsPostBack Then
aqui cargas el grid
End If
sino lo haces de esta forma se recargara el grid seguramente sin los filtros aplicados
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Karen MalagónModerator jueves, 23 de julio de 2015 21:04
- Marcado como respuesta Gabriel Marco viernes, 24 de julio de 2015 10:27
Todas las respuestas
-
hola
>>Selecciono el segundo de los Pepe, en realidad me devuelve el segundo cliente de la lista total, no el segundo cliente de la lista filtrada.
de casualidad cargas el grid en el evento Page_Load ? si lo haces verificas que ese codigo este dentro del
If Not IsPostBack Then
aqui cargas el grid
End If
sino lo haces de esta forma se recargara el grid seguramente sin los filtros aplicados
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Karen MalagónModerator jueves, 23 de julio de 2015 21:04
- Marcado como respuesta Gabriel Marco viernes, 24 de julio de 2015 10:27
-
Te recomiento que en vez de usar el index para identificar el cliente de la lista, lo hagas mejor usando el id de ese cliente, por que si no estaras filtrando el index incorrecto cada vez que filtras este cambia.
Si mi respuesta fue útil ayudame marcándola como correcta.
-