Bonjour,
Ce n'est pas vraiment un problème mais plus une question; voici le code suivant :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 DataView temp = new DataView(); temp = this.dv_dataview; if (this.b_etat) { temp.RowFilter = "Etat > 0"; } else { temp.RowFilter = String.Format("IdEvenement > {0}", (dv_dataview.Count - 100)); } temp.Table.Columns.Remove("Serveur"); temp.Table.Columns.Remove("Prog"); temp.Table.Columns.Remove("IdEvenement"); return temp;
Donc temp recoit en théorie uen copie de dv_dataview. Or lorsque, par exemple, je filtre sur les 100 premiers éléments dans temp, il le filtre aussi dans dv_dataview comme si, les deux variables pointaient sur le même objet. Es-ce un comportement normal ? Comment faire pour réaliser une Copie simple ?
Sachant que si je fais ça, ca fonctionne nikel, mes filtres n'affecte plus mon DataView dv_dataview :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 DataTable test = new DataTable(); test = this.dv_dataview.ToTable(); DataView temp = new DataView(test); if (this.b_etat) { temp.RowFilter = "Etat > 0"; } else { temp.RowFilter = String.Format("IdEvenement > {0}", (dv_dataview.Count - 100)); } temp.Table.Columns.Remove("Serveur"); temp.Table.Columns.Remove("Prog"); temp.Table.Columns.Remove("IdEvenement"); return temp;
Es-ce normal pour réaliser une copie de DataView de passer par un DataTable ?
Merci.
Partager