2017-04-20 56 views
1

Razorビュー内でrowspanを使用してテーブル内のセルをマージするにはどうすればよいですか?私は自動的に日付とリンクのセルをマージしたいので、 "Date"と "link" Cellの代わりに、それぞれの行にある特定の日のすべてのデータに対してそれぞれのセルを1つだけ持っています。私は条件を使って解決しようとしましたが、私はエラー(私が推測する文法上の問題)か、私が望むものとは異なる結果を得ています。ASP.NET MVC Razorデザインテーブルwith rowspan

<tbody> 
    @foreach (var dayIncidentPair in Model.List) 
        { 
         <tr> 
          <td rowspan="@dayIncidentPair.Item3.Count()">Finded segment in @dayIncidentPair.Datetime.ToString("d")</td> 
          <td rowspan="@dayIncidentPair.Item3.Count()"><a href="~/path">Link here</a></td> 
          @{int i = 0; } 
          @foreach (var segmentInfo in dayIncidentPair.Item3) 
          { 
           if (i > 0) 
           { 
            <text></tr> 
            <tr></text> 
           } 
           <td>@segmentInfo.MValue1.Time.ToString("t")</td> 
           <td>@String.Format("{0:f1}", @segmentInfo. MValue1.Value)</td> 
           <td>@segmentInfo.MValue1.Type</td> 
           <td>@segmentInfo.MValue2.Time.ToString("t")</td> 
           <td>@String.Format("{0:f1}", @segmentInfo.MValue2.Value)</td> 
           <td>@segmentInfo.MValue2.Type</td> 
           i++; 

          } 
          </tr> 
        } 

    </tbody> 

私は別の角度から問題を見て、私は解決策を見つけたこの

╔════════════╦════════════╦═════════╦══════════╦═════════╦═════════╦══════════╦═════════╗ 
║ Date ║ Link ║ Time V1 ║ Value V1 ║ Type V1 ║ Time V2 ║ Value V2 ║ Type V2 ║ 
╠════════════╬════════════╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣ 
║ 25.01.2017 ║ Link ║   ║   ║   ║   ║   ║   ║ 
║   ║ to XXX ║ 9:10 ║  1.1 ║  A ║ 9:15 ║  5.3 ║  Q ║ 
║   ║   ║   ║   ║   ║   ║   ║   ║ 
║   ╠   ╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣ 
║   ║   ║   ║   ║   ║   ║   ║   ║ 
║   ║   ║ 9:30 ║  2.0 ║  B ║ 11:30 ║  4.1 ║  A ║ 
║   ║   ║   ║   ║   ║   ║   ║   ║ 
╠════════════╬════════════╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣ 
║ 26.01.2017 ║ Linkto XYX ║   ║   ║   ║   ║   ║   ║ 
║   ║   ║ 11:50 ║  6.2 ║  A ║ 14:27 ║  5.3 ║  P ║ 
║   ║   ║   ║   ║   ║   ║   ║   ║ 
╠════════════╬════════════╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣ 
║ 27.01.2017 ║ Linkto XXY ║   ║   ║   ║   ║   ║   ║ 
║   ║   ║ 8:03 ║  2.5 ║  Q ║ 9:47 ║  2.5 ║  A ║ 
║   ║   ║   ║   ║   ║   ║   ║   ║ 
║   ╠   ╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣ 
║   ║   ║   ║   ║   ║   ║   ║   ║ 
║   ║   ║ 13:21 ║  4.6 ║  A ║ 14:53 ║  4.3 ║  C ║ 
║   ║   ║   ║   ║   ║   ║   ║   ║ 
║   ╠   ╬═════════╬══════════╬═════════╬═════════╬══════════╬═════════╣ 
║   ║   ║   ║   ║   ║   ║   ║   ║ 
║   ║   ║ 15:10 ║  7.4 ║  C ║ 15:45 ║  7.3 ║  B ║ 
║   ║   ║   ║   ║   ║   ║   ║   ║ 
╚════════════╩════════════╩═════════╩══════════╩═════════╩═════════╩══════════╩═════════╝ 
+0

を使用しないことである(http://stackoverflow.com/questions/42848883/row-span-using-mvc5/ 42849042#42849042)例のために –

+0

私はこれのためにrowspanを使用するのではなく、ネストされたテーブルを使うと思います。 – nurdyguy

+0

@nurdyguy返信ありがとうございますが、私の謙虚な意見では、私たちは千年紀の始まりではありません。 –

答えて

1

ような何かをしたいです。明らかに、IF条件でHTMLタグをマーキングする際に問題がありました。

溶液は、使用タグ<text>を使用するが、[この答え]参照の@:

<tbody> 
    @foreach (var dayIncidentPair in Model.List) 
        { 
         <tr> 
          <td rowspan="@dayIncidentPair.Item3.Count()">Finded segment in @dayIncidentPair.Datetime.ToString("d")</td> 
          <td rowspan="@dayIncidentPair.Item3.Count()"><a href="~/path">Link here</a></td> 
          @{int i = 0; } 
          @foreach (var segmentInfo in dayIncidentPair.Item3) 
          { 
           if (i > 0) 
           { 
            @:</tr><tr> 
           } 
           <td>@segmentInfo.MValue1.Time.ToString("t")</td> 
           <td>@String.Format("{0:f1}", @segmentInfo...