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.