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

Error con Gridview

Estas en el tema de Error con Gridview en el foro de .NET en Foros del Web. Hola buenas tardes, soy nueva en .net espero me puedan ayudar. Tengo un Gridview, en donde la primera columna es un checkbox. Luego de selsscionar ...
  #1 (permalink)  
Antiguo 20/02/2013, 11:15
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 22 años, 4 meses
Puntos: 0
Error con Gridview

Hola buenas tardes, soy nueva en .net espero me puedan ayudar.
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:
 <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>
Y este el el codigo VB de envento click del boton

Código:
    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
Espero me puedan ayudar!!!
  #2 (permalink)  
Antiguo 20/02/2013, 11:44
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 22 años, 4 meses
Puntos: 0
Respuesta: Error con Gridview

Ya lo resolvi.
comparto la solucion.
En el evento click del boton

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(row.RowIndex).Cells(2).Text

End If

Next row


saludos!!!

Etiquetas: gridview, net, server, vb
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 22:45.