Dans mon application, j'utilise une vue de données pour appliquer les filtres là où les options de filtrage sont transmises dynamiquement. S'il y a 2 paramètres de filtre, la vue de données doit être filtrée pour le paramètre 1 puis le paramètre 2 . J'utilise une méthode appelée dans une boucle for où je règle le nombre total de paramètres sélectionnés en utilisant une liste, mais le filtrage est effectué uniquement pour le dernier paramètre. Voici mon code:Filtrage de DataView avec plusieurs colonnes
string str = "";
for (int i = 0; i < listbox.Items.Count; i++)
{
if (listbox.Items[i].Selected)
{
if (str != string.Empty)
{
str = str + "," + listbox.Items[i].Text;
}
else
{
str = str + listbox.Items[i].Text;
}
}
}
string[] items = str.Split(',');
for (int i = 0; i < items.Length; i++)
{
ApplyFilter(items[i],dv);
}
private DataView ApplyFilter(string str,DataView newdv)
{
newdv.RowFilter = "[" + str + "]=" + ddl.SelectedItem.ToString();
return newdv;
}
S'il vous plaît fournir une solution adaptée.
Merci à l'avance ...
mais iam pas sûr de combien de paramètres de filtrage seront passed.how pour ajouter les colonnes dans le même RowFilter –
Merci pour la réponse. ça fonctionne bien. –