Следующий запрос возвращает тип <IGrouping<string, ItemsCollection>>
, который может быть привязан к GridView. Используется с CollectionViewSource
, ключ (как имя группы) используется для отображения заголовка/заголовка группы, например, путем привязки к TextBlock в GroupStyle.HeaderTemplate
для GridView.Можно ли изменить групповой ключ для <IGrouping <string, ItemsCollection >> таким образом, чтобы он был добавлен с информацией о количестве групп для привязки?
var query = from ItemObj in ItemsObjCollection
orderby ItemObj.ItemName
group ItemObj by ItemObj.GroupName into groups
orderby groups.Key
select groups;
Все работает нормально, как и ожидалось, и проблем пока нет.
Моя следующая попытка (где я нахожусь в затруднении) для Ключа, который выводит имя группы, чтобы также обеспечить подсчет элемента группы, чтобы он был изменен, например, как «Название группы [счет]», где счет можно легко получить как groups.Count() в запросе. Предположим, что ItemsObjCollection
представляет Фрукты, тогда заголовок должен быть похож на Яблоки [10], Бананы [7], Апельсины [12] и т. Д.
Можно ли сгруппировать ключ для отображения вывода (посредством привязки), чтобы он был добавлен с информацией о количестве групп, как описано? В принципе, я хотел бы Key = $"{groups.Key} [{groups.Count()}]"
, но не знаю, как в запросе. Пробовал по линии:
select new { Key = $"{groups.Key} [{groups.Count()}]", Items = groups };
но мой модифицированный ключ не появляется в связывании, так не уедешь. Я также обнаружил, что не просто создать экземпляр IGrouping
(потому что это интерфейс) и надеется, что есть разумный способ сделать это в вышеприведенном запросе, и кто-то должен был это сделать уже.
Вы комбинируете строку и целое число, поэтому попробуйте это: выберите new {Key = groups.Key + groups.Count(). ToString(), Items = groups}; – jdweng
Это не так. Я просто использую последний синтаксис интерполяции строк C# 6.0, так что вы говорите и то, что я говорю, эквивалентны. См. $ "{Var} ...", который является строковым интерполятором. – user2921851
Ваш запрос одобрен. Как привязка? –