Tengo un Gridview, en donde la primera columna es un checkbox.
Luego de selsscionar los datos que quiero, presiono un boton y tengo que capturar la columna ID de las filas que seleccione con el checkbox.
Todo bien, hasta que llega a esta linea
Dim dato = GridView.Rows(GridView.SelectedIndex).Cells(2).Tex t
Alli sale un error ( el Gridview.SelectedIndex da -1)
(Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index)
Abajo coloco todo el codigo.
Esta es la grilla
Código:
  
Y este el el codigo VB de envento click del boton <asp:gridview id="GridView"   
        autogeneratecolumns="false"
        runat="server"
        CellPadding="4" 
        ForeColor="#333333" 
        GridLines="Vertical" 
        Width="1300px" 
        Font-Size="Smaller" 
        Height="28px">
        <columns>
              <%--  <asp:buttonfield buttontype="Link" 
                  commandname="Add" 
                  text="Add"/>--%>   
                  <asp:TemplateField >
                             <ItemTemplate>
                                 <asp:CheckBox  ID="Add" runat="server"  />
                             </ItemTemplate>
                  </asp:TemplateField>         
              <asp:boundfield datafield="Nombre" 
                headertext="Tienda"> <ItemStyle Width="150px" />
              </asp:boundfield>
              <asp:boundfield datafield="ID_Tienda" 
                headertext="ID_Tienda" HeaderStyle-CssClass="Hide" ItemStyle-CssClass="Hide">
                <HeaderStyle CssClass="Hide"></HeaderStyle> <ItemStyle Width="1px" />
              </asp:boundfield>
              <asp:boundfield datafield="DireccionSunat"  headertext="Direccion Sunat">  <ItemStyle Width="500px" />
              </asp:boundfield>
              <asp:boundfield datafield="CodigoSunat" headertext="Codigo Sunat"> <ItemStyle Width="100px" />
              </asp:boundfield>
              <asp:BoundField DataField="UsrValida" HeaderText="UsrValida" > <ItemStyle Width="150px" /></asp:BoundField>
              <asp:BoundField DataField="FechaValida" HeaderText="FechaValida"   DataFormatString="{0:d}" > <ItemStyle Width="150px" /></asp:BoundField>
              <asp:BoundField DataField="Comentario" HeaderText="Comentario" > <ItemStyle Width="300px" /></asp:BoundField>
              <asp:BoundField DataField="FechaModifica" HeaderText="FechaModifica"  DataFormatString="{0:d}" > <ItemStyle Width="150px" /></asp:BoundField>
        </columns>    
          <AlternatingRowStyle BackColor="White" ForeColor="#A50014" />
          <EditRowStyle BackColor="#999999" />
          <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
          <HeaderStyle BackColor="#A50014" Font-Bold="True" ForeColor="White" />
          <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
          <RowStyle BackColor="#F7F6F3" ForeColor="#333333" Font-Size="Small" />
          <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" Font-Size="Small" />
          <SortedAscendingCellStyle BackColor="#E9E7E2" />
          <SortedAscendingHeaderStyle BackColor="#506C8C" />
          <SortedDescendingCellStyle BackColor="#FFFDF8" />
          <SortedDescendingHeaderStyle BackColor="#6F8DAE" />                
      </asp:gridview>
Código:
  
Espero me puedan ayudar!!!     Protected Sub BtnEnvio_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnEnvio.Click
        For Each row As GridViewRow In GridView.Rows
            Dim checkbox As CheckBox = CType(row.FindControl("Add"), CheckBox)
            If checkbox.Checked Then
                Dim dato = GridView.Rows(GridView.SelectedIndex).Cells(2).Text
            End If
        Next row
End sub
 

