none
SELECCION DE CHECK EN GRIDVIEW RRS feed

  • Pregunta

  • Buenos dias... tengo una grilla en la cual en el encabezado hay un check si chequeo el control check me debe seleccionar todos los check que estan ligados a los datos de mi Gridview...

    me resulta perfectamente la seleccion, pero mi problema radica en que tengo un boton y ese boton me arroja en un label un mensaje:

    mi problema esta en que si elijo un check y hago click en el boton me debe arrojar un mensaje en singular por ejemplo "SU REGISTRO FUE GUARDADO"

    pero si se selecciona el check (Seleccionar Todos) o selecciona mas de un chek en la grilla me debe arrojar un mensaje en Plural..
    "SUS REGISTROS FUERON GUARDADOS"

    El codigo HTML de la grilla es el siguiente:

                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                  <ContentTemplate>
                    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
                      CellPadding="4" ForeColor="#333333" GridLines="None" BorderStyle="Solid" 
                      HorizontalAlign="Center" PageSize="12" 
                      style="font-family: Calibri; text-align:left; font-size: small" Width="100%">
                      <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                      <Columns> 
                        <asp:TemplateField>
                          <HeaderTemplate>
                            <asp:CheckBox ID="chkSelTodos" runat="server" AutoPostBack="True" Text="  Seleccionar Todos" oncheckedchanged="chkSelTodos_CheckedChanged"/>
                          </HeaderTemplate>
                          <ItemTemplate>
                            <asp:CheckBox ID="chkSeleccion" runat="server" AutoPostBack="False"/>
                          </ItemTemplate>
                        </asp:TemplateField>
                      </Columns>
                      <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                      <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                      <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                      <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
                      <EditRowStyle BackColor="#999999" />
                      <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                    </asp:GridView>  
                  </ContentTemplate>
                </asp:UpdatePanel>

    El codigo para el CHECK "Seleccionar TODOS"

      Protected Sub chkSelTodos_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
        Dim SelectAllCheckBox As CheckBox = CType(sender, CheckBox)
        If (SelectAllCheckBox.Checked = True) Then
          For Each fila As GridViewRow In GridView1.Rows
            CType(fila.FindControl("chkSeleccion"), CheckBox).Checked = True
          Next
        Else
          For Each fila As GridViewRow In GridView1.Rows
            CType(fila.FindControl("chkSeleccion"), CheckBox).Checked = False
          Next
        End If
      End Sub

    Como puedo realizar esa accion al momento de presionar el boton???

    Muchas gracias.

    miércoles, 7 de noviembre de 2012 14:04

Respuestas

  • hago click en el boton me debe arrojar un mensaje en singular por ejemplo "SU REGISTRO FUE GUARDADO"

    pero en el codigo del boton como tomas los que debes procesar ?

    porque podrias determinar si has procesado solo uan fila o varias y cambiar el mensaje

    alli no muestras como creas es mensaje


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta JonaGuitar viernes, 9 de noviembre de 2012 12:44
    miércoles, 7 de noviembre de 2012 14:22
  • podrias usa linq

    Dim cantSeleccion As integer = GridView1.Rows.Cast(Of GridViewRow).Where(Function(x) DirectCast(x.FindControl("chkSeleccion"), CheckBox).Checked).Count()

    con eso conoces cuantas estan marcadas pudiendo hacer un if para msotrar un mesnaje u otro

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 7 de noviembre de 2012 18:39

Todas las respuestas

  • hago click en el boton me debe arrojar un mensaje en singular por ejemplo "SU REGISTRO FUE GUARDADO"

    pero en el codigo del boton como tomas los que debes procesar ?

    porque podrias determinar si has procesado solo uan fila o varias y cambiar el mensaje

    alli no muestras como creas es mensaje


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta JonaGuitar viernes, 9 de noviembre de 2012 12:44
    miércoles, 7 de noviembre de 2012 14:22
  • Leandro ese es mi problema necesito rescatar si la seleccion de los check es una arrojo un mensaje si selecciono dos o mas chekl me debe arrojar otro mensaje ahi esta mi problema como puedo captar eso dentro de un grid

    miércoles, 7 de noviembre de 2012 18:04
  • podrias usa linq

    Dim cantSeleccion As integer = GridView1.Rows.Cast(Of GridViewRow).Where(Function(x) DirectCast(x.FindControl("chkSeleccion"), CheckBox).Checked).Count()

    con eso conoces cuantas estan marcadas pudiendo hacer un if para msotrar un mesnaje u otro

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 7 de noviembre de 2012 18:39