J'ai une requête Linq que je copie dans un DataTable qui est ensuite utilisée pour remplir une vue de grille. J'utilise un groupe par "clé" et "compte" que j'évalue dans la page aspx pour une grille/détail grille avec un répéteur.Requête Linq à l'aide de DataTable avec pagination
Le problème que je rencontre est que la source de données gridview et lier à la datatable ne me présente pas de pages supplémentaires qui font partie des données. Ma requête est:
// Using Linq generate the query command from the DataTable
var query = from c in dtDataTable_GridView.AsEnumerable()
group c by c.Field<string>("CLIN") into g
select new
{
Key = g.Key,
Count = g.Count(),
Items = from i in g
select new
{
CLIN = i.Field<string>("CLIN"),
SLIN = i.Field<string>("SLIN"),
ACRN = i.Field<string>("ACRN"),
CLINType = i.Field<string>("CLINType"),
Option = i.Field<string>("Option"),
Unit = i.Field<string>("Unit")
}
};
// Use extension methods to create new DataTable from query
dtTaskOrderTable = query.CopyToDataTable();
// Set the datasource
gridview1.DataSource = dtTaskOrderTable;
// Bind to the GridView
gridview1.DataBind();
Si je datatable d'origine (dtDataTable_GridView) directement J'ai radiomessagerie, mais une fois que je fais la requête LINQ et le copier vers un nouveau DataTable (dtTaskOrderTable) je perds la fonction de recherche de personnes.
Comment puis-je obtenir une valeur à partir d'un nom de colonne ("Option" par exemple) s'il fait partie de "Items"?
Toute aide serait appréciée. Merci, ChrisB