21

こんにちは、データテーブルへのlinqを使用してデータテーブルをフィルタリングするにはどうすればよいですか? DropDownList があり、Modul 列の値を選択できます。ここで、この Modul 列で DataTable をフィルター処理したいと思います。

ここに私のデータテーブル構造があります:

User | Host | TimeDiff | License | Telefon | Modul 

ここにコード:

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);
}
4

3 に答える 3

48

メソッドを使用する方が良いですがDataTable.Select、LINQ を使用する必要がある場合は、次を試すことができます。

DataTable selectedTable = tb.AsEnumerable()
                            .Where(r => r.Field<string>("Modul") == value)
                            .CopyToDataTable();

DataTableこれにより、フィルタリングされた値に基づいて新しいが作成されます。

使用する場合DataTable.Select

string expression = "Modul =" + value;
DataRow[] selectedRows = tb.Select(expression);
于 2013-10-18T12:31:11.730 に答える