El evento GridView OnSelectedIndexChanged no se activa

El evento GridView OnSelectedIndexChanged no se activa

Si solo está haciendo clic en la fila en el GridView , que no activará el evento. Debe tener algún tipo de botón en la fila para hacer clic, lo que activará el RowCommand evento, así como el SelectedIndexChanged evento (si la fila en la que hace clic aún no está seleccionada, por supuesto). No es exactamente como Windows Forms DataGridView =)

La forma más fácil de activar el evento es agregar este atributo a su GridView marcado:

AutoGenerateSelectButton="True"

Esto crea un "Seleccionar" LinkButton , que activará el Gridview1_SelectedIndexChanged2 evento en su código subyacente cuando hace clic en él.

EDITAR: Solo para aclarar, aquí es donde debe agregar ese atributo:

<asp:GridView ID="GridView1" runat="server" GridLines="None" 
  Width="930px" CellPadding="4" ForeColor="#333333"  
  onselectedindexchanged="GridView1_SelectedIndexChanged2"
  AutoGenerateSelectButton="True" >

NO es cierto que no puede hacer clic en una fila y hacer que maneje el SelectedIndexChanged evento. Solo tienes que agregar un pequeño código al RowCreated evento.

Protected Sub yourDataGrid_RowCreated(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles yourDataGrid.RowCreated
    If e.Row.RowType = DataControlRowType.DataRow Then
        e.Row.Attributes("onclick") = Me.Page.ClientScript.GetPostBackEventReference(Me.yourDataGrid, "Select$" & e.Row.RowIndex)
    End If
End Sub

Han pasado algunos años desde que se hizo esta pregunta y ciertamente espero que la persona con el problema lo haya resuelto, pero tuve el mismo problema y gracias a uno de los que respondieron descubrí cuál era el problema.

Verifique la línea del botón real en Gridview y asegúrese de tener el CommandName="Select" en el campo de botones. Por alguna razón que el código, que normalmente se ingresa automáticamente, no se agregó.