Dim dt As New DataTable Dim da As New SqlDataAdapter(s, c) c.Open() If Not IsNothing(da) Then da.Fill(dt) dt.Select("GroupingID = 0") End If GridView1.DataSource = dt GridView1.DataBind() c.Close() When I call da.fill I am inserting all records from my query. I was then hoping to filter them to display only those where the GroupingID is equal to 0. When I run the above code. I am presented with all the data, the filter did not work. Please can you tell me how to get this working correctly. Thanks.
3 Réponses :
Pourquoi n'utilisez-vous pas de DataView? P> dt.select () code> renvoie un tableau de datarswers.
DataView dv = new DataView(dt);
dv.RowFilter = "GroupingID = 0";
GridView1.DataSource = dv;
Réponse très simple et efficace. Merci.
La réponse acceptée est correcte, bien qu'elle aurait dû être donnée dans vb.net pour mieux profiter à celui qui a posé la question posée. Ici, il est dans vb.net:
Dim dt As New DataTable:Dim dv As New DataView(dt):dv.RowStateFilter = "GroupingID = 0":DataGridView1.DataSource = dv
Junt au cas où ... pense que vous avez une petite faute de frappe dans votre code VB.NET. Il devrait être dv.rowfilter au lieu de dv.rowstatefilter, donc:
Bonjour Sergio, bienvenue à ce que cela ne nous aide pas beaucoup parce que votre réponse est identique comme réponse acceptée. Veuillez faire une visite ici Stackoverflow.com/tour
Mon commentaire était destiné à montrer sur le message ci-dessous qui affiche le code dans VB.NET qui a effectivement une faute de frappe.