none
Llenar gridview mediante dropdownlist RRS feed

  • Pregunta

  • Hola buenas, intento llenar un gridview mediante una consulta que contiene un valor establecido en un dropdownlist, por ejemplo si selecciono un numero de serie en el dropdownlist que muestre los datos de dicho numero de serie en el gridview, tengo este codigo pero me arroja error y debe ser debido a la syntaxis, que creen que esta mal? 

    aspx:

           <asp:MultiView ID="MultiView11" runat ="server">
                    <asp:View ID="View11" runat="server">         
                        <asp:Label ID="Label1" runat="server" Text="Seleccione un usuario"></asp:Label>
                        <asp:DropDownList AutoPostBack="true" ID="drop1" runat="server" DataSourceID="SqlDataSource1" DataTextField="NSERIE_H" DataValueField="NSERIE_H">
                        </asp:DropDownList>
                        <asp:GridView ID="grid1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" Width="452px">
                            <AlternatingRowStyle BackColor="White" />
    
                            <EditRowStyle BackColor="#2461BF" />
                            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                            <RowStyle BackColor="#EFF3FB" />
                            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                            <SortedAscendingCellStyle BackColor="#F5F7FB" />
                            <SortedAscendingHeaderStyle BackColor="#6D95E1" />
                            <SortedDescendingCellStyle BackColor="#E9EBEF" />
                            <SortedDescendingHeaderStyle BackColor="#4870BE" /> 
                        </asp:GridView>
                
                       
                        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SGTICAConnectionSQLServer2014 %>" SelectCommand="SELECT * FROM [SGTICA_HISTORIAL_ACTIVOS]"></asp:SqlDataSource>
                
                       
                    </asp:View>
                </asp:MultiView>  

    .vb 

     Dim sql2 As String
            MultiView11.SetActiveView(View11)
            sql2 = drop1.SelectedItem.Text
    
            If (drop1.SelectedValue = sql2) Then
                Dim sql As String = "SELECT * FROM SGTICA_HISTORIAL_ACTIVOS WHERE NSERIE_H ='('" + sql2 + "')'"
                Dim cnn As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=FI0000057326;Initial Catalog=SGTICA;Integrated Security=True")
                cnn.Open()
                Dim da As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(sql, cnn)
                Dim dt As DataTable = New DataTable("SGTICA_HISTORIAL_ACTIVOS")
                da.Fill(dt)
                grid1.DataSourceID = Nothing
                Me.grid1.DataSource = dt
                grid1.DataBind()
            End If
    


    miércoles, 7 de marzo de 2018 15:45

Respuestas

Todas las respuestas

  • hola

    >>tengo este codigo pero me arroja error

    que dice el mensaje de error ?

    en que contexto pones ese codigo, o sea en que evento ? porque no veo que definas ninguno en el html

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 7 de marzo de 2018 17:06
  • Hola leandro, el mensaje de error es: 

    Información adicional: Incorrect syntax near 'NC'. (NC es el comienzo de uno de los datos listados en el dropdown, " NC-3435-23"

    el codigo lo tengo en el page_load: 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim sql2 As String
            MultiView11.SetActiveView(View11)
            sql2 = drop1.SelectedValue
            If (drop1.SelectedValue = sql2) Then
                Dim sql As String = "SELECT * FROM SGTICA_HISTORIAL_ACTIVOS WHERE NSERIE_H ='('" + sql2 + "')'"
                Dim cnn As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=FI0000057326;Initial Catalog=SGTICA;Integrated Security=True")
                cnn.Open()
                Dim da As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(sql, cnn)
                Dim dt As DataTable = New DataTable("SGTICA_HISTORIAL_ACTIVOS")
                da.Fill(dt)
                grid1.DataSourceID = Nothing
                Me.grid1.DataSource = dt
                grid1.DataBind()
            End If
        End Sub
    y para ser mas especifico quiero lograr filtrar los datos del gridview mediante el uso de un dropdownlist (con datos cargados desde una BD) 

    miércoles, 7 de marzo de 2018 17:14