Как я могу сгруппировать неупорядоченный список? - PullRequest
0 голосов
/ 22 апреля 2020

Как я могу сгруппировать неупорядоченный список? У меня есть следующее для каждого для отображения информации RP, но он создает дубликат с тем же именем, Как я могу сгруппировать элементы li по имени?

<ul id="treeview">
     @foreach (var item in Info)
        {
          <li data-expanded="true">@item.PaName
                <ul>
                     <li data-expanded="true">@item.sName</li>
                 </ul>
           </li>
         }
  </ul>   

Я хочу увидеть что-то вроде этого

----AOC
     ---DBSR
     ---KOLC

Ответы [ 3 ]

0 голосов
/ 22 апреля 2020

Вы на правильном пути, говоря о LINQ. В базовой форме c ваш код может выглядеть следующим образом:

using System.Linq

groupedData = data.GroupBy(x => x.PartyName)

Выходные данные будут в этой структуре

"AOC" : [
    {
        "SubPartyName": "DBSR",
        "OtherData": "...."
    },
    {
        "SubPartyName": "KOLC",
        "OtherData": "...."
    },
]

Затем вы сможете l oop сгруппировать данные на ваш взгляд.

Дайте мне знать, если вам нужно больше разъяснений

0 голосов
/ 23 апреля 2020

У меня есть следующее для каждого для отображения информации RP, но он создает дубликат с тем же PartyName, Как я могу сгруппировать элементы li по PartyName?

Вы можете попробовать следующее фрагмент кода:

@model IEnumerable<Party>
@{
    ViewData["Title"] = "RParty";
    var rpInfo = Model.GroupBy(p=>p.PartyName);
}

<h1>RP Information</h1>

<ul id="treeview">
    @foreach (var item in rpInfo)
    {
        <li data-expanded="true">
            <i class="fa fa-check-circle"></i>@item.Key

            @foreach (var party in @item)
            {
                <ul>
                    <li data-expanded="true">
                        <i class="fas fa-check-circle"></i> @party.SubPartyName
                    </li>
                </ul>
            }

        </li>
    }
</ul> 
0 голосов
/ 22 апреля 2020

Просто сгруппируйте данные по PartyName, тогда вы получите данные с ключом PartyName и значением списка объектов с одинаковым PartyName. Используйте его для отображения в поле зрения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...