Member 10678871 Ответов: 1

Сумма столбцов TL и NLA показывает нижний колонтитул таблицы и зависимость (TL + NLA) и среднее значение


<tbody>
                                                               @{int srno2 = 0;}
                                                               @foreach (College.Core.ViewModels.SGPA.ExamsViewModel _Exams in _subject.GetExams())
                                                               {
                                                                   srno2 += 1;
                                                                   <tr>
                                                                       <td>@srno2</td>
                                                                       <td>@_Exams.ExamType</td>
                                                                       <td>@_Exams.ObtainedMark</td>
                                                                       <td>@_Exams.OutOfMarks</td>

                                                                       @if(@_Exams.TotalLectureConducted == null)
                                                                       {
                                                                           <td>0</td>
                                                                       }
                                                                       else
                                                                       {
                                                                           <td>@_Exams.TotalLectureConducted</td>
                                                                       }
                                                                       @if(@_Exams.NoOfLectureAttended == null)
                                                                       {
                                                                           <td>0</td>
                                                                       }
                                                                       else
                                                                       {
                                                                           <td>@_Exams.NoOfLectureAttended</td>
                                                                       }
                                                                       @if(@_Exams.AverageAttendance == null)
                                                                       {
                                                                          <td>0%</td>
                                                                       }
                                                                       else
                                                                       {
                                                                          <td>@_Exams.AverageAttendance%</td>
                                                                       }

                                                                   </tr>
                                                               }
                                                           </tbody>
                                                           <tfoot>

                                                               <tr>
                                                                   <td colspan="4" align="right">Total</td>
                                                                   <td>SUM-TotalLectureConducted</td>
                                                                   <td>SUM-NoOfLectureAttended</td>
                                                                   <td>(SUM-TL/SUM-NLA)*100</td>

                                                               </tr>

                                                           </tfoot>


Что я уже пробовал:

NO	Exam 	   Mark	Out	  TL	 NLA	  AV
1	End Tem	   12	60	   5	 5	    100%
2	Internal 1 10	20	   3	 1	    33%
3	internal 2 10	20	   4	 2	    50%
                    Total  12    8	    66%

TL-TotalLectureConducted
NLA-NoOfLectureAttended

I want to this format of result 
please help me

Richard MacCutchan

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

1 Ответов

Рейтинг:
0

Richard Deeming

Суммируйте значения внутри цикла и выведите итоговые значения в нижнем колонтитуле.

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

<tbody>
    @{
        int srno2 = 0;
        double tl = 0, nla = 0;
    }
    @foreach (College.Core.ViewModels.SGPA.ExamsViewModel _Exams in _subject.GetExams())
    {
        srno2 += 1;
        tl += _Exams.TotalLectureConducted.GetValueOrDefault();
        nla += _Exams.NoOfLectureAttended.GetValueOrDefault();
        
        <tr>
            <td>@srno2</td>
            <td>@_Exams.ExamType</td>
            <td>@_Exams.ObtainedMark</td>
            <td>@_Exams.OutOfMarks</td>
            <td>@_Exams.TotalLectureConducted.GetValueOrDefault()</td>
            <td>@_Exams.NoOfLectureAttended.GetValueOrDefault()</td>
            <td>@_Exams.AverageAttendance.GetValueOrDefault()%</td>
        </tr>
    }
</tbody>
<tfoot>
    <tr>
        <td colspan="4" align="right">Total</td>
        <td>@tl</td>
        <td>@nla</td>
        
        @if (tl == 0)
        {
            <td>(N/A)</td>    
        }
        else
        {
            double av = nla / tl;
            <td>av.ToString("P")</td>
        }
    </tr>
</tfoot>


Maciej Los

5ed!