Visual Basic.NET - Problema indice Datagrid

   
Vista:

Problema indice Datagrid

Publicado por Neo (16 intervenciones) el 12/06/2008 21:58:14
Tengo un control Datagridview con 4 columnas. Las columnas 0 y 4 son botones. El problema me viene que si presiono a partir de la columna 3 me da este error:
El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección. Nombre del parámetro: index
He comprobado el indice cuando aparece el error y parece correcto, si pulso sobre la columna 3 el indice es 3 y si lo hago sobre la 4 el indice es 4.

Este es mi código:
Private Sub DataGridView2_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView2.CellContentClick
If DataGridView1.Columns(e.ColumnIndex).Index = 0 Then
GroupBox3.Visible = True
End If
If DataGridView1.Columns(e.ColumnIndex).Index = 4 Then
MessageBox.Show("Borro")
End If
End Sub

¿Alguna ayuda por favor?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema indice Datagrid

Publicado por P. J. (706 intervenciones) el 12/06/2008 23:03:34
Te entiendo a medias, pero no se porque dentro del DataGridView2, haces referencia al indice del DataGridView1,

Ademas en tu condicional solo deberias poner e.columnIndex
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema indice Datagrid

Publicado por Neo (16 intervenciones) el 13/06/2008 07:19:28
Sí, tienes razón, es fallo mio. De todas formas (y perdón por no haberme explicado bien del todo) lo que quiero saber es cómo puedo utilizar los botones del datagrid para que una vez pulsado uno suceda un evento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema indice Datagrid

Publicado por P. J. (706 intervenciones) el 13/06/2008 16:40:57
=)

Ahora si te entiendo, bueno yo lo hago de la sgte. forma:

Private Sub dgvProducto_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvProducto.CellClick
Try
If e.ColumnIndex >= 0 Then
If Me.dgvProducto.Columns(e.ColumnIndex).Name = "MiBoton" Then
'Aqui todo tu codigo
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Ahora, seguro necesitaras mas validaciones, eso dependera de como quieras usarlo.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar