Отображение данных в таблице в цикле Foreach с одним повторением, а также MVC 5 - PullRequest
0 голосов
/ 17 сентября 2018

Я хочу отобразить таблицу в следующем формате:
View Image

Я получаю данные по следующему запросу:

var rate_list = (from r in db.rate_list
    where r.rate_list_type_id == get_type_id.rate_list_type_id
    group r by r.item.item_category_id
    into gr
    select new RateList()
    {
        category_name = gr.FirstOrDefault().item.item_category.category_name,
        item_name = gr.Select(r => new ItemName()
        {
            item_name = gr.FirstOrDefault().item.item_name

        }).ToList()
    }).ToList();

А затем в View я делаю что-то вроде:

@foreach (var item in Model.complete)
    {
        <tr style="border: 1px solid black;">
        <td rowspan="@Model.complete.Count()"></td>
        <td colspan="3">@item.category_name</td>

        @foreach(var t in item.item_name)
        {
            <td>@t.item_name</td>
            <td>@t.item_unit</td>
            <td>@t.item_price</td>
        }
        </tr>               
    } 

Я не уверен, как я могу вывести тот же результат, как показано на рисунке.
Любая помощь будет оценена.

Редактировать
В данный момент я получаю это

Output

Редактировать
Это моя модель просмотра

public class RateList
    {
        public string category_name { get; set; }        
        public IEnumerable<ItemName> item_name { get; set; }
    }

    public class ItemName
    {
        public string item_name { get; set; }
    }

Редактировать

Прямо сейчас у меня есть этот выход

РЕДАКТИРОВАТЬ 2
Последний ВЫХОД

РЕДАКТИРОВАТЬ 3
Последний вывод

1 Ответ

0 голосов
/ 17 сентября 2018

Попробуйте это

<table>
        <thead>
            <tr>
                <th>SER</th>
                <th colspan="2">Items</th>
                <th>AU</th>
                <th>1 X Block</th>
                <th>Price</th>
            </tr>
        </thead>
        <tbody>        
            @{ 
                int i=0;
                foreach (var item in Model.complete) {

                    <tr>
                        <td rowspan="@(item.item_name.Count+1)"></td>
                        <td colspan="2">@item.category_name</td>
                        <td> </td>
                        <td> </td>
                        <td> </td>
                    </tr>
                     int alp=65;
                    foreach (var t in item.item_name) {                           
                        <tr>
                            <td>@((char)(alp++))</td>
                            <td>@t.item_name</td>
                            <td>@t.item_unit</td>
                            <td>@t.item_price</td>
                        </tr>
                    }
                    i++;
                }
            }
        </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...