Il y a quelques jours, j'ai dû faire quelque chose de similaire. Vous avez la méthode select de datatable, vous pouvez utiliser linq simple, ou une expression lambda. Voici un très petit exemple de code. Dans votre scénario, vous passez simplement la valeur de la catégorie en tant que filtre. J'espère que cela t'aides.
DataTable Dt = new DataTable();
Dt.Columns.Add("Name");
Dt.Columns.Add("Age");
Dt.Rows.Add(new object[] { "Babar", 44 });
Dt.Rows.Add(new object[] { "Babul", 55 });
Dt.Rows.Add(new object[] { "Bahar", 66 });
Dt.Rows.Add(new object[] { "Baird", 3 });
Dt.Rows.Add(new object[] { "Cable", 77 });
// Linq option
var q = from r in Dt.AsEnumerable()
where r.Field<int>("Age") > 50
select r;
DataRow[] LinkFoundRows = q.ToArray<DataRow>();
// Lambda expression option (one liner)
DataRow[] FoundRows2 = Dt.AsEnumerable().Where(row => row.Field<int>("Age") > 50).ToArray<DataRow>();
DataRow[] StdSelect = Dt.Select("Age > 50");
// all three requests will result you DataRows containing Babar, Bahar, Cable
Définir "Échec". –
Définir "ne fonctionne pas". –
échoué et de travail –