salut comment je peux filtrer un datatable avec linq to datatable? J’ai un DropDownList et là je peux sélectionner la valeur de la colonne Modul. Maintenant, je veux filtrer le DataTable avec cette colonne de module.
voici ma structure datatable:
User | Host | TimeDiff | License | Telefon | Modul
Voici le code:
protected void drp_Modules_SelectedIndexChanged(object sender, EventArgs e) { ssortingng value = drp_Modules.SelectedValue; DataTable tb = (DataTable)Session["dt_Users"]; tb = from item in tb //????? LoadUsertable(tb); }
Il vaut mieux utiliser la méthode DataTable.Select
, mais si vous devez utiliser LINQ, vous pouvez essayer:
DataTable selectedTable = tb.AsEnumerable() .Where(r => r.Field("Modul") == value) .CopyToDataTable();
Cela créerait un nouveau DataTable
basé sur des valeurs filtrées.
Si vous utilisez DataTable.Select
ssortingng expression = "Modul =" + value; DataRow[] selectedRows = tb.Select(expression);
Vous pouvez utiliser la condition pour vérifier si des lignes existent avant la dissortingbution. L’espace de noms System.Linq est requirejs pour que Any () fonctionne
var rows = values.AsEnumerable().Where (row => row.Field("Status") == action); if(rows.Any()){ DataTable dt = rows.CopyToDataTable(); }