This was the approach that worked and seemed pretty clean. It works whether its in week or month view. Its pretty similar to what your approach was on the original answer. so im going to give you credit also
@{
int itemIndex = 0;
int colspan = 7;
}
<table class="printCalendarTable">
<tr style="vertical-align: top; font-weight: bold">
@foreach (var item in Model)
{
if (itemIndex != 0 && itemIndex % colspan == 0)
{
@:</tr><tr style="vertical-align: top; font-weight: bold">
}
<td>@item.CalDate.ToShortDateString()
<table>
@foreach (var ocEvent in item.DateEvents)
{
<tr><td>@ocEvent.Department</td></tr>
<tr><td>@ocEvent.Doctor</td></tr>
<tr><td>@ocEvent.Comments</td></tr>
}
</table>
</td>
itemIndex++;
}
</tr>
</table>