如何过滤下拉列表?我试图制作一个代码,但它不起作用..请检查我的代码。 TNX
DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add("Source");
string category;
category = drpCategory.SelectedValue;
DataRow[] foundRows;
foundRows = table.Select(category);
for (int i = 0; i < foundRows.Length; i++)
{
Console.WriteLine(foundRows[i][0]);
}
答案 0 :(得分:2)
答案 1 :(得分:0)
就在几天前,我不得不做类似的事情。你有数据表的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