Как отобразить параметр типа распространения и подпараметр в таблице html 5 razor

#c# #asp.net-mvc #razor

#c# #asp.net-mvc #razor

Вопрос:

У меня есть условие типа, у меня есть параметр и подпараметр в одной таблице столбцов с именем «NameParameter». Параметр и подпараметр становятся единым целым в этом столбце, но у меня есть другой столбец, чтобы определить, было ли значение параметром или подпараметром, столбец имеет тип «TypeParameter» типа int, если значение было параметром в параметре NameParameter, идентификатор в параметре типа будет равен 1, а для подпараметра будет равно 2 в столбце TypeParameter.

и я хочу создать столбец в таблице, в котором есть параметр и подпараметр, они являются spread. итак, вот мои коды.

 <table>
<tr>
            <th>Parameter</th>
            <th>SubParameter</th>
            <th>Persentase</th>
            <th>Bobot</th>
        </tr>


        @foreach (var jajal in ViewBag.Coba1)
        {
            <tr>
                @if (@jajal.TypeParameter != null)
                {         
                    <td contenteditable='true'>@jajal.NameParameter</td>
                    <td contenteditable='true'>@jajal.NameParameter</td> 
                    <td contenteditable='true'>@jajal.Persentase</td>
                    <td contenteditable='true'>@jajal.Bobot</td>

                }
            </tr>
        }

    </table>
}
  

я ожидал, что результат будет таким

 parameter    Sub Parameter 
a             e
b             f
c             g
d             h
  

но из моих приведенных выше кодов им были показаны все значения из столбца «NameParameter»
еще не распространен по параметру типа, поэтому, пожалуйста, помогите мне с этим. Спасибо

Комментарии:

1. Это простая опечатка? Первый и второй td оба вывода @jajal.NameParameter

2. нет, я не предполагаю, что это будет одинаковым, потому что первый «td» предназначен для параметра, а второй «td» — для подпараметра, поэтому @jajal. NameParameter, «NameParameter» был именем столбца из моей таблицы db. Я застрял на логике, как распространить значение в столбце «NameParameter», чтобы оно было параметром, а подпараметр основывался на «TypeParameter», параметр был равен 1, а подпараметр — 2.

3. на самом деле для распространения и зацикливания. хехе, я застрял на логике.

4. Я понимаю. Знаете ли вы, в каком порядке они (param и subparam) отображаются ViewBag.Coba1 в списке?

5. Я создаю Viewbag, подобный этому ViewBag. Coba1 = db.CIXMasterParameter. ToList(); он отображает все данные из таблицы.

Ответ №1:

Неясно, как связаны строки параметра и подпараметра, поэтому кажется трудным отобразить их в одной строке. При отсутствии этого лучшее, чего вы можете добиться, это оставить один из столбцов пустым. Выглядело бы примерно так:

 parameter    Sub Parameter 
a             
b             
              e
c
              g
              h
d
  

Конечно, это всего лишь пример. Для этого вы могли бы использовать еще несколько if s:

 @foreach (var jajal in ViewBag.Coba1)
{
    <tr>
        @if (@jajal.TypeParameter != null)
        {
            @if (@jajal.TypeParameter == 1)
            {
                <td contenteditable='true'>@jajal.NameParameter</td>
                <td></td>
            }

            @if (@jajal.TypeParameter == 2)
            {
                <td></td>
                <td contenteditable='true'>@jajal.NameParameter</td>
            }

            <td contenteditable='true'>@jajal.Persentase</td>
            <td contenteditable='true'>@jajal.Bobot</td>
        }
    </tr>
}
  

Обратите внимание, что вместо отсутствующего значения столбца используется пустое <td>

Комментарии:

1. я пробовал этот способ, его работа, но. таблица выглядит беспорядочно. кажется, я неправильно зацикливаю его

Ответ №2:

вот мой временный ответ, на самом деле я использую некоторый код jquery.rowspanizer.min.js по лицензии MIT.

 <tr>
>         <th>Parameter</th>
>         <th>SubParameter</th>
>         <th>DetailParameter</th>
>         <th>Narasi</th>
>         <th>Jumlah</th>
>         <th>Persentase</th>
>         <th>Total Konvensi</th>
>         <th>Range</th>
>         <th>Risk Level</th>
>         <th>Bobot</th>
>         <th>Score</th>
>     </tr>
>     <tr>
>         @{
>             var isi = (List<APUPPT.Models.CIXMasterParameter>)ViewBag.Coba1; // Cast the
> list
>             var parent = isi.Where(x => x.TypeParameter == 1).Where(x => x.Parent_id == null);
>         }
> 
>     @foreach (var param in parent)
>     {
>         var subPar = isi.Where(x => x.TypeParameter == 2).Where(x => x.Parent_id == param.Id);
>         <tr>
> 
>             @foreach (var sub in subPar)
>             {
>                 var detPar = isi.Where(x => x.TypeParameter == 3).Where(x => x.Parent_id == sub.Id);
>                 if (detPar.Count() == 0 || detPar.Count() == null)
>                 {
>                 <td contenteditable='true'>
>                     @param.NameParameter
>                 </td>  
>                 <td contenteditable='true'>
>                     @sub.NameParameter
>                 </td>                  
>                 <td contenteditable='true'></td>        
>                 @Html.Raw("</tr><tr>")    
>                 }
>                 else
>                 {
>                     foreach (var det in detPar)
>                     {              
>                 <td contenteditable='true'>
>                     @param.NameParameter
>                 </td>  
>                 <td contenteditable='true'>
>                     @sub.NameParameter
>                 </td>                  
>                 <td contenteditable='true'>
>                     @det.NameParameter
>                 </td>         
>                 <td contenteditable='true' width='200'></td>
>                 <td contenteditable='true'></td> 
>                 <td contenteditable='true'>
>                     @det.Persentase
>                 </td>
>                 <td contenteditable='true'></td>
>                 <td contenteditable='true'></td>
>                 <td contenteditable='true'></td>
>                 <td contenteditable='true'> 
>                     @det.Bobot
>                 </td>
>                 <td contenteditable='true'> 
>                    
>                 </td>
>                 
>               
>                 @Html.Raw("</tr><tr>")   
>                     }
>                 }
>             }
>         </tr>
  

но в таблице все еще беспорядок. я получил этот ответ от моего старшего.