È possibile utilizzare LINQ-to-DataSet
con Enumerable.Any
:
String author = "John Grisham";
bool contains = tbl.AsEnumerable().Any(row => author == row.Field<String>("Author"));
Un altro approccio è quello di utilizzare DataTable.Select
:
DataRow[] foundAuthors = tbl.Select("Author = '" + searchAuthor + "'");
if(foundAuthors.Length != 0)
{
// do something...
}
D: E se non sappiamo le colonne intestazioni e vogliamo trovare se qualsiasi valore di cella PEPSI
esiste in tutte le colonne rows'c? Posso fare un loop su tutto a per scoprirlo, ma c'è un modo migliore? -
Sì, è possibile utilizzare questa query:
DataColumn[] columns = tbl.Columns.Cast<DataColumn>().ToArray();
bool anyFieldContainsPepsi = tbl.AsEnumerable()
.Any(row => columns.Any(col => row[col].ToString() == "PEPSI"));
fonte
2012-05-22 13:46:55
LINQ? 'table.Any (t => t.Author == autore);' – Davio