Печать определенных таблиц / строк в режиме Razor

#javascript #html #razor #printing

#javascript #HTML #razor #печать

Вопрос:

Это кажется тривиальным вопросом, но мне нужно напечатать блоки «< tr >< / tr >», которые находятся внутри таблицы. Ниже приведен мой Razor view, который перебирает данные, и все выглядит красиво, но отдельные разделы недоступны для печати. Есть ли какой-либо способ сделать отдельные разделы доступными для печати?

 <table class="table table-condensed table-responsive table-striped">
    @{ var previousheader = ""; }

    @foreach (var item in Model)
    {
        if (item.TrmnlGrp_Description_TEMP != "" amp;amp; item.TrmnlGrp_Description_TEMP != previousheader)
        {
            previousheader = item.TrmnlGrp_Description_TEMP;

            <tr>
                <td colspan="6" style="padding:5px; background:#808080">
                    <b>@Html.DisplayName(item.TrmnlGrp_Description_TEMP)</b>
                </td>
                <td style="padding:5px; background:#808080">
                    <input type="button" name="print" value="Print" />
                </td>
            </tr>
            <tr>
                <th>
                    Vendor
                </th>
                <th>
                    Terminal
                </th>
                <th>
                    Eff. Date
                </th>
                <th>
                    Diesel
                </th>
                <th>
                    Regular
                </th>
                <th>
                    Mid
                </th>
                <th>
                    Premium
                </th>
            </tr>
        }
        else
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.Vend_Description_TEMP)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Trmnl_Description_TEMP)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Fuelcost_EFF_DateTime_TEMP)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Diesel)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Regular_Unleaded)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Midgrade_Gasoline)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Premium_Unleaded_Gas)
                </td>
            </tr>
        }
    }
</table>
  

Комментарии:

1. Что вы подразумеваете под возможностью печати? Вы имеете в виду, что хотите выбрать 2 строки и распечатать их на бумаге?

2. В любом случае, что бы я сделал на вашем месте, так это разрешил фильтр на стороне клиента для данных в таблице и показывал только те данные, которые вы хотите распечатать.

3. Это звучит разумно. Как бы добавить фильтр на стороне клиента?

4. Разрешить пользователю выбирать из некоторых критериев фильтрации, передавать критерии фильтрации контроллеру, фильтровать данные и возвращать их, затем очищать таблицу и перестраивать ее с использованием запрошенных данных.

5. Если вы используете EF, используйте что-то вроде этого learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started /…