Umesh AP Ответов: 1

Отображение направления сортировки столбцов в представлении MVC


Я занимаюсь разработкой приложения MVC4 (представлений, с помощью бритвы) с Поиск, разбиение на страницы и сортировку. У меня есть столбец "имя пользователя" и "Дата загрузки" для сортировки. Все работает нормально, но теперь я хочу отобразить порядок сортировки после имени столбца в моем представлении. например, если мы нажмем на "имя пользователя", то оно будет отсортировано в порядке возрастания в первый раз, а при повторном нажатии на тот же столбец данные будут отсортированы в порядке убывания. Но пользователь не получает никакого представления, глядя на представление, отсортирован ли столбец или нет и в каком порядке.

Чтобы отобразить имя столбца как сортируемое, я использовал следующий код в своем представлении
<th>
                @Html.ActionLink("User Name", "Sorting", new
                {
                    sortBy = ViewBag.SortUserNameParameter,
                    searchByUserName = Request.QueryString["searchByUserName"],
                    searchByReaderName = Request.QueryString["searchByReaderName"],
                    searchByReaderType = Request.QueryString["searchByReaderType"],
                    searchByUploadDate = Request.QueryString["searchByUploadDate"]
                })
</th>


Примечание: было бы здорово, если бы нам каким-то образом удалось отобразить стрелку изображения с направлением вверх и вниз помимо имени столбца.

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

Я новичок в разработке MVC. Я много гуглил по этому вопросу, но не могу найти подходящего решения.

1 Ответов

Рейтинг:
1

NaibedyaKar

Вы можете сделать это легко с помощью jquery

<script type="text/javascript">
    $('thead > tr > th > a[href*="sort=@grid.SortColumn"]').parent()
    .append('@(grid.SortDirection == SortDirection.Ascending ? "▲" : "▼")');
</script>

Programmining: индикатор сортировки в системе.Веб.Помощники.WebGrid[^]


Umesh AP

@NaibedyaKar-я не использую webgrid для отображения записей. Так что в моем случае этот подход неприменим.
Пожалуйста, предложите альтернативное решение.

NaibedyaKar

Я привел пример, как это сделать для webgrid.
Вы можете выбрать элемент заголовка вашей сетки с помощью селекторов jquery и добавить к нему текст.

Umesh AP

Мне очень жаль, но я не могу понять, что вы пытаетесь сказать. Я новичок в javascript dev.
Я не использую никакой сетки, вместо этого использую элемент html-таблицы для рендеринга сетки. Любой другой способ добиться того же.