The uses a Repository object in the view model, passed to the viewmodel as a list allowing foreach() in Razor.
@foreach (var item in Model.DecoratedDisplayColumns)
{
<th width="@(item.Size)"><b>@(item.Title)</b> </th>
}
The ViewModel: public List<DecoratedDisplay> DecoratedDisplayColumns { get; set; }
is populated in the Controller via a static class that calls a new member function: viewModel.DecoratedDisplayColumns = LookUp.GetDecoratedDisplay();

The object has a htmlString() function method to return in HTML a Table Row which requires @MvcHtmlString.Create() is used before Razor() rendering it.
Syntax: @foreach (var item in Model.DecoratedDisplayColumns) { @( @MvcHtmlString.Create( item.htmlString() ) ); }

WMDColumns:
DecoratedDisplayColumns:
jQueryBound WMDColumns:
This [Title] Select has defaulted to #4 in its list, its on change handler is in jQuery.
jQueryBound WMDColumns:
This [Color] Select has defaulted to #14 in its list, its on change handler is in jQuery.