Comment puis-je filtrer un dataTable avec Linq en datatable?

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