如何在表格HTML 5剃须刀中显示Spread Type参数和子参数

时间:2019-03-08 09:14:09

标签: c# asp.net-mvc razor

我有一个条件,例如,我在名为“ NameParameter” 的一列表中有参数和子参数。参数和子参数在该列中变为一个,但是我还有另一列来标识值是参数还是子参数,如果值是中的参数,则该列为“ TypeParameter” 类型int NameParameter ,在 TypeParameter 列中, TypeParameter 中的ID为1,子参数为2。

我想在表的一列中创建一个参数和子参数,它们被散布了。 所以这里是我的代码。

<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” 中的所有值 尚未通过 TypeParameter 传播,因此请帮助我。谢谢

2 个答案:

答案 0 :(得分:0)

尚不清楚参数和子参数行如何连接,因此似乎很难在同一行上显示它们。缺少这一点,您可以实现的最佳结果就是将其中一列留空。看起来像这样:

parameter    Sub Parameter 
a             
b             
              e
c
              g
              h
d

当然,这只是一个例子。为此,您可以使用更多if

@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 :(得分:0)

这是我的临时答案,实际上我使用了MIT许可证中的一些代码jquery.rowspanizer.min.js。

  

<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>

但是桌子仍然一团糟。我从上级那里得到了这个答案。