过滤下拉列表

本文关键字:下拉列表 过滤 | 更新日期: 2023-09-27 17:50:11

如何过滤下拉列表?我试着做一个代码,但它不起作用…请检查我的代码。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]);
    }

过滤下拉列表

您可以尝试使用DataTable。选择(string filterExpression)方法

就在几天前,我不得不做类似的事情。您有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