Bonjour,
je cherche a faire un filtre sur un datagridview sans datasource ! et tout ce que j'ai trouvé sur internet j'ai besoin d'une datasource
est-ce possible de faire un filtre sans datasource ?
Version imprimable
Bonjour,
je cherche a faire un filtre sur un datagridview sans datasource ! et tout ce que j'ai trouvé sur internet j'ai besoin d'une datasource
est-ce possible de faire un filtre sans datasource ?
désolé réponse tardive !
en faite je récupère les données dans une BDD avec des objets metier et je rempli au fur et a mesure.
donc je ne peux pas faire une requète trier .
voila le code de remplissage du datagridview que je fais a l'initialisation.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 For Each depot In article.FactoryArticleDepot.List Dim ligne As DataGridViewRow = New DataGridViewRow Dim cell As DataGridViewTextBoxCell = New DataGridViewTextBoxCell Dim cell2 As DataGridViewTextBoxCell = New DataGridViewTextBoxCell Dim cell3 As DataGridViewTextBoxCell = New DataGridViewTextBoxCell Dim cell4 As DataGridViewTextBoxCell = New DataGridViewTextBoxCell cell.Value = depot.Depot.DE_Intitule ligne.Cells.Add(cell) cell2.Value = "" ligne.Cells.Add(cell2) cell3.Value = "" ligne.Cells.Add(cell3) If article.ArticleDepotPrincipal.EmplacementPrincipal IsNot Nothing Then cell4.Value = article.ArticleDepotPrincipal.EmplacementPrincipal.DP_Intitule ligne.Cells.Add(cell4) End If Depot1.DataGridView1.Rows.Add(ligne) 'Dim stockmini As IBOArticleDepotGamme3 = depot.FactoryArticleDepotGamme.List.Item(1) 'MessageBox.Show(stockmini.GS_QteMini) Next
après j'ai un combobox qui permet de choisir les différents dépot, et je voudrais que quand l'utilisateur a choisi un dépot que seulement lui soit affiché
Logiquement tu pourrais créer un objet qui contient tous les éléments nécéssaires à une ligne. Ensuite du alimente une liste de cet objet avec ce que tu récupère dans la base de données. Tu affectes ensuite la datasource de ton datagridview avec cette liste. Tu devrais ainsi pouvoir jouer avec le binding (entre ta liste et ta combobox).
j'ai trouvé une autres solution,
ce code fonctionne parfaitementCode:
1
2
3
4
5
6
7 For i As Int16 = 0 To DataGridView1.Rows.Count - 2 If DataGridView1.Rows.Item(i).Cells(0).Value <> ComboBoxDepot.Text Then DataGridView1.Rows.Item(i).Visible = False Else DataGridView1.Rows.Item(i).Visible = True End If Next