none
Como obtener el valor de una celda del Gridview mediante el Dropdownlist! RRS feed

  • Pregunta

  • Hola Comunidad..Podrian ayudarme en resolver este problema:

    Tengo un dropdownlist dentro de un gridview con varios campos ademas incluidos,

    Bien lo que resulta es que no me sale como obtener la primera columna de la fila seleccionada por medio de mi dropdownlist del selectedindexchanged.

    Por ejemplo selecciono un item de mi dropdownlist y en mi textbox me deberia ejecutar

    el valor de la 1columna de la fila seleccionada.( puedo tener como 100 filas)..El textbox esta fuera del gridview.

    En vb.net

     Private Sub gvwBuscaCarga_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvwBuscaCarga.RowCommand
            If e.CommandName = "boton" Then
                Dim index As Integer = Convert.ToInt32(e.CommandArgument)
                Dim fila As GridViewRow = gvwBuscaCarga.Rows(index)
                Dim codigo As Integer
                codigo = CInt(fila.Cells(1).Text)
                Session("cbo") = codigo
            End If
        End Sub

    Protected Sub cboParametro_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
            Dim combo As DropDownList = DirectCast(sender, DropDownList)

            txtmuestra.Text = Session("cbo")

    En Codigo de origen:

    <ItemTemplate>
                              <asp:DropDownList ID="cboParametro" runat="server" Height="19px" Width="100px" CssClass="inputfields"
                                AppendDataBoundItems="True"
                                  onselectedindexchanged="cboParametro_SelectedIndexChanged" AutoPostBack="True"
                                   CommandName="boton" CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>" />
                                  </asp:DropDownList>
                             </ItemTemplate>

    Agradesco a este foro por su ayuda que brinda.


    ronalddevelopers

    sábado, 18 de agosto de 2012 17:44

Respuestas

Todas las respuestas

  • Hola.

    Talvez un articulo de Leandro te pueda servir.

    Edición usando DropDownList

    Si no puedes ver las respuestas a preguntas similares.Rescatar Valor de DropDownList en Gridview

    Coger valor DropDownList dentro de GridView

    Saludos.

    sábado, 18 de agosto de 2012 18:03
  • Hola sobre saber el valor de un dropdownlist ya esta,la incomodidad es que necesito rescatar el valor de la columna1 media una fila seleccionada dependiendo del dropdownlist.

    Gracias.


    ronalddevelopers

    sábado, 18 de agosto de 2012 18:25
  • la incomodidad es que necesito rescatar el valor de la columna1 media una fila seleccionada dependiendo del dropdownlist.

    para acceder al dropdownlist usa el FindControl()

    o sea teniendo la fila harias

    Dim combo As DropDownList = DirectCast(row.FindControl("DropDownList1"),DropDownList)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 18 de agosto de 2012 19:11
  • la incomodidad es que necesito rescatar el valor de la columna1 media una fila seleccionada dependiendo del dropdownlist.

    para acceder al dropdownlist usa el FindControl()

    o sea teniendo la fila harias

    Dim combo As DropDownList = DirectCast(row.FindControl("DropDownList1"),DropDownList)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Hola Leandro,no quiero en que fila esta el dropdownlist,sino obtener el valor de mi columna1

    de mi gridview dependiendo cuando haga click en un item de mi dropdownlist que esta en la columna2

    Usare de ejemplo cuando seleccione cualquier item de mi dropdownlist que esta en la

    segunda fila:

    gridview:

    columna1            columna2

    (Boundfield)      (dropdownlist)

    Ana                  elijo un valor

    Beto            elijo un valor(ejm:selecciono cualqr item,me tiene que dar Beto)

    Alberto            elijo un valor

    Esto es lo que quiero:Fuera del gridview tengo un textbox donde debe coger el valor Beto.

    Gracias por su ayuda Leandro

    Saludos.


    ronalddevelopers



    • Editado Ronald_Next sábado, 18 de agosto de 2012 22:41
    sábado, 18 de agosto de 2012 19:43
  • de mi gridview dependiendo cuando haga click en un item de mi dropdownlist que esta en la columna2

    pero entonces usa el evento SelectedIndeChanged del dropdownlist que esta dentro del gridview

    recuerda asignar el autopostback en true del dropdownlist

    ademas de usar el sender del evento para tomar el valor

    Dim combo As DropDownList = DirectCast(sender ,DropDownList)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 18 de agosto de 2012 19:52
  • En vb.net

     Private Sub gvwBuscaCarga_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvwBuscaCarga.RowCommand
            If e.CommandName = "boton" Then
                Dim index As Integer = Convert.ToInt32(e.CommandArgument)
                Dim fila As GridViewRow = gvwBuscaCarga.Rows(index)
                Dim codigo As Integer
                codigo = CInt(fila.Cells(1).Text) 'ESTE VALOR QUIERO DEPENDE EN QUE FILA    'HAGA CLICK DEL COMBOBOX
                Session("cbo") = codigo
            End If
        End Sub

    Protected Sub cboParametro_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
            Dim combo As DropDownList = DirectCast(sender, DropDownList)

            txtmuestra.Text = Session("cbo")

    En Codigo de origen:

    <ItemTemplate>
                              <asp:DropDownList ID="cboParametro" runat="server" Height="19px" Width="100px" CssClass="inputfields"
                                AppendDataBoundItems="True"
                                  onselectedindexchanged="cboParametro_SelectedIndexChanged" AutoPostBack="True"
                                   CommandName="boton" CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>" />
                                  </asp:DropDownList>
                             </ItemTemplate>

    HAY UN CLARO EJEMPLO ARRIBA QUE PUSE EN LA 4TA RESPUESTA

    Le agradeceria mucho si me ayuda en este problema.

    Gracias por su molestia.


    ronalddevelopers


    • Editado Ronald_Next sábado, 18 de agosto de 2012 22:42
    sábado, 18 de agosto de 2012 22:40
  • de mi gridview dependiendo cuando haga click en un item de mi dropdownlist que esta en la columna2

    pero entonces usa el evento SelectedIndeChanged del dropdownlist que esta dentro del gridview

    recuerda asignar el autopostback en true del dropdownlist

    ademas de usar el sender del evento para tomar el valor

    Dim combo As DropDownList = DirectCast(sender ,DropDownList)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    En vb.net

     Private Sub gvwBuscaCarga_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvwBuscaCarga.RowCommand
            If e.CommandName = "boton" Then
                Dim index As Integer = Convert.ToInt32(e.CommandArgument)
                Dim fila As GridViewRow = gvwBuscaCarga.Rows(index)
                Dim codigo As Integer
                codigo = CInt(fila.Cells(1).Text) 'ESTE VALOR QUIERO DEPENDE EN QUE FILA    'HAGA CLICK DEL COMBOBOX
                Session("cbo") = codigo
            End If
        End Sub

    Protected Sub cboParametro_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
            Dim combo As DropDownList = DirectCast(sender, DropDownList)

            txtmuestra.Text = Session("cbo")

    En Codigo de origen:

    <ItemTemplate>
                              <asp:DropDownList ID="cboParametro" runat="server" Height="19px" Width="100px" CssClass="inputfields"
                                AppendDataBoundItems="True"
                                  onselectedindexchanged="cboParametro_SelectedIndexChanged" AutoPostBack="True"
                                   CommandName="boton" CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>" />
                                  </asp:DropDownList>
                             </ItemTemplate>

    HAY UN CLARO EJEMPLO ARRIBA QUE PUSE EN LA 4TA RESPUESTA

    Le agradeceria mucho si me ayuda en este problema.

    Muchas Gracias por su molestia.


    ronalddevelopers

    domingo, 19 de agosto de 2012 1:26
  • si usas el evento SelectedIndexChanged del combo el CommandName y RowCommand no aplican

    [GridView] Eventos de controles contenidos en el GridView

    usa el NamingContainer

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    domingo, 19 de agosto de 2012 4:30
  • Hola,lo siento por los dias de retrazo en responder,fue de gran ayuda.

    El tema lo resolvi del siguiente modo:

    En codigo Source:

    <asp:TemplateField HeaderText="Tipo de Carga">
                          <ItemTemplate>
                              <asp:DropDownList ID="cboParametro" runat="server" Height="19px" Width="100px" CssClass="inputfields"
                                CommandArgument='<%#Container.DataItemIndex %>'
                                AppendDataBoundItems="True" onselectedindexchanged="cboParametro_SelectedIndexChanged" AutoPostBack="True"
                                    />
                                  </asp:DropDownList>
                             </ItemTemplate>
                      </asp:TemplateField>

    En vb.net:

    Dim combo As DropDownList = DirectCast(sender, DropDownList)

            Dim gvr As GridViewRow = DirectCast(sender, DropDownList).NamingContainer
            Dim intRowSelected As Integer = gvr.RowIndex
            Session("index") = intRowSelected

            Session("Codigo") = gvwBuscaCarga.Rows(intRowSelected).Cells(5).Text


    ronalddevelopers

    jueves, 23 de agosto de 2012 21:26