J'ai un arraylist dans mon code derrière qui stocke les valeurs d'id de divers éléments qui sont dans une base de données. En cliquant sur un bouton, je souhaite passer ces valeurs d'id à un SQLDataSource pour agir en tant que paramètre pour peupler un gridview. Malheureusement, ma connaissance limitée de VB me gêne, et je suis confus quant à la façon dont on ferait une telle chose.Passer la liste aux paramètres d'un sqldatasource
Code derrière
Protected Sub Preview_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Preview_Button.Click
Dim list As New ArrayList
Dim atLeastOneRowSelected As Boolean = False
'Iterate through the Devices.Rows property
For Each row As GridViewRow In GridView1.Rows
'Access the CheckBox
Dim cb As CheckBox = row.FindControl("DeviceSelector")
If cb IsNot Nothing AndAlso cb.Checked Then
atLeastOneRowSelected = True
'First, get the device_id for the selected row
Dim device_id As Integer = _
Convert.ToInt32(GridView1.DataKeys(row.RowIndex).Value)
list.Add(device_id)
End If
Next
End Sub
SQLDataSource au sein de la page .aspx
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:LOTOConnectionString %>"
SelectCommand="SELECT * FROM [DEVICES] WHERE ([devices_id] = @devices_id)">
<SelectParameters>
<asp:Parameter Name="devices_id" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
EDIT
Après avoir joué un peu, je me suis rendu compte que je peux former mon liste dans une chaîne SQL appropriée usi ng la commande de jointure. Donc la seule partie que je ne comprends toujours pas est comment référencer la SQLDataSource de mon code derrière.