就在几天前,我不得不采取类似的措施。你有datatable的select方法,你可以使用简单的linq或lambda表达式。以下是非常小的示例代码。在您的方案中,您只需将类别值作为过滤器传入即可。希望这可以帮助。
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
定义“失败”。 – 2011-04-15 02:18:52
定义“不工作”。 – 2011-04-15 05:18:23
失败并正在工作 – 2011-04-15 06:21:42