39 messaggi dal 17 aprile 2017
Salve a tutti, devo popolare una gridview, ho implementato questo codice, ma non mi popola nulla, potete dirmi dove sto sbagliando?
Grazie a tutti


  
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim strConnString As String = ConfigurationManager.ConnectionStrings("chiamateConnectionString1").ConnectionString
        Dim strQuery As String = "select Modello from tbModelli where" & " ID = @CustomerID"
        Dim con As New SqlConnection(strConnString)
        Dim cmd As New SqlCommand()
        cmd.CommandType = CommandType.Text
        cmd.CommandText = strQuery
        cmd.Connection = con
        Try
            con.Open()
            Dim sdr As SqlDataReader = cmd.ExecuteReader()


            While sdr.Read()
                

                dgrModelli.DataSource = sdr

                dgrModelli.DataBind()

             End While
        Catch ex As Exception
            Throw ex
        Finally
            con.Close()
            con.Dispose()
        End Try

    End Sub
166 messaggi dal 09 febbraio 2017
Nel codice non comprare nulla riguardante una grid view.

Devi associare sql data source alla grid view , puoi farlo da codice o da wizard della grid view / data source.

Ma non cè nessun errore, manca semplicemente l' associazione.

Emanuel Pirovano
Web Developer
43 messaggi dal 30 gennaio 2016
Ciao Joe01,
1 - Il tuo comando sql sembra una query parametrizzata che alla fine il parametro non glielo passi.
2 - Per passare un datareader come datasource non devi iterare.

Prova a cambiare il codice così;
 Dim strConnString As String = ConfigurationManager.ConnectionStrings("chiamateConnectionString1").ConnectionString
        Dim strQuery As String = "select Modello from tbModelli where ID = @CustomerID"
        Dim con As New SqlConnection(strConnString)
        Dim cmd As New SqlCommand()
        cmd.CommandType = CommandType.Text
        cmd.CommandText = strQuery
        cmd.Parameters.AddWithValue("@CustomerID", CustomerID)
        cmd.Connection = con
        Try
            con.Open()
            Dim sdr As SqlDataReader = cmd.ExecuteReader()
                dgrModelli.DataSource = sdr
                dgrModelli.DataBind()
        Catch ex As Exception
            Throw ex
        Finally
            con.Close()
            con.Dispose()
        End Try
    End Sub

Ciao
166 messaggi dal 09 febbraio 2017
Scusa, ma dove dici che la query e il data source sono collegati alla grid view 1 ?

Emanuel Pirovano
Web Developer
3.939 messaggi dal 28 gennaio 2003
a me sembra che ci sia un errore, perchè non fa visualizzare il primo record

così mi funziona

    Protected Sub Button3_Click(sender As Object, e As System.EventArgs) Handles Button3.Click
        Dim con As New o.SqlCeConnection(StringaConnessione)
        Dim cmd As New o.SqlCeCommand()
        cmd.CommandType = CommandType.Text
        cmd.CommandText = sql
        cmd.Connection = con
        Try
            con.Open()
            Dim sdr As o.SqlCeDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)


            'While sdr.Read()


            dgrModelli.DataSource = sdr

            dgrModelli.DataBind()

            'End While

        Catch ex As Exception
            Throw ex
        Finally
            con.Close()
            con.Dispose()
        End Try
    End Sub
43 messaggi dal 30 gennaio 2016
Credo che dgrModelli sia la sua grid
166 messaggi dal 09 febbraio 2017
Andy1987 ha scritto:
Credo che dgrModelli sia la sua grid



Ah ok chiedo venia

Emanuel Pirovano
Web Developer
39 messaggi dal 17 aprile 2017
Non ho ancora risolto il problema della gridview, o almeno se uso il wizard mi crea una griglia con i valori, ma io vorrei generarla da codice.
Questi sono è quanto ho implementato, ma se uso solo il codice vb non mi popola nulla:

Questo è la pagina aspx:


            <div>
            <asp:GridView ID="dgrModelli" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource" EmptyDataText="There are no data records to display." AllowPaging="True" PageSize="20">
                <Columns>
                    <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" ItemStyle-Width="50px" />
                    <asp:BoundField DataField="Modello" HeaderText="Modello" SortExpression="Modello" ItemStyle-Width="200px" />
                </Columns>
                </asp:GridView>
                <asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:reprocartConnectionString1 %>" SelectCommand="SELECT * FROM [tbModelli]">
                </asp:SqlDataSource>
            </div>



Come poteve vedere popolo la mia gridview con un datasource generato con il wizard, perché quello da vb, non va.

Questo è il codice vb:

Dim strConnString As String = ConfigurationManager.ConnectionStrings("modelliConnectionString1").ConnectionString
Dim strQuery As String = "select * from tbModelli where ID = @CustomerID"
Dim con As New SqlConnection(strConnString)
Dim cmd As New SqlCommand()
cmd.CommandType = CommandType.Text
cmd.CommandText = strQuery
cmd.Parameters.AddWithValue("@CustomerID", ID)
cmd.Connection = con
Try
con.Open()
Dim sdr As SqlDataReader = cmd.ExecuteReader()
dgrModelli.DataSource = sdr
dgrModelli.DataBind()
Catch ex As Exception
'Throw ex
Finally
con.Close()
con.Dispose()
End Try

Cosa devo correggere?

Grazie a tutti

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.