如何使用Linq将dataTable过滤到数据表?

Tar*_*sov 18 c# linq asp.net datatable linq-to-dataset

您好我如何使用linq过滤数据表到数据表?我有一个DropDownList,我可以选择模块列的值.现在我想用这个模块列过滤DataTable.

这是我的数据表结构:

User | Host | TimeDiff | License | Telefon | Modul 
Run Code Online (Sandbox Code Playgroud)

这里的代码:

protected void drp_Modules_SelectedIndexChanged(object sender, EventArgs e)
{
    string value = drp_Modules.SelectedValue;

    DataTable tb = (DataTable)Session["dt_Users"];

    tb = from item in tb //?????

    LoadUsertable(tb);
}
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 42

你最好使用DataTable.Select方法,但如果你必须使用LINQ,那么你可以尝试:

DataTable selectedTable = tb.AsEnumerable()
                            .Where(r => r.Field<string>("Modul") == value)
                            .CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)

这将DataTable基于过滤值创建新的.

如果你使用 DataTable.Select

string expression = "Modul =" + value;
DataRow[] selectedRows = tb.Select(expression);
Run Code Online (Sandbox Code Playgroud)