Je suis le tri sur plusieurs critères en utilisant le tri dynamique, voici mon code:Orderby ne fonctionne pas
public ActionResult WebGrid(int page = 1, int rowsPerPage = 10, string sortCol = "OrderID", string sortDir = "ASC", string sortSecCol = "OrderID", string sortSecDir = "ASC")
{
List<Orders> res;
using (var nwd = new NorthwindEntities())
{
var _res = nwd.Orders
.AsQueryable()
.OrderBy(sortCol + " " + sortDir, sortSecCol + " " + sortSecDir)
.Skip((page - 1) * rowsPerPage)
.Take(rowsPerPage)
.Select(o => new Orders
{
Ce que je suis en train de faire ici est que je veux la colonne OrderID
soit le tri secondaire chaque fois qu'il est pas tri primaire, mais cela n'a pas fonctionné quand j'ai effectivement choisi une autre colonne comme un tri primaire. En d'autres termes, quand une autre colonne est sélectionnée comme tri primaire dans l'ordre décroissant, OrderID
devrait également être dans l'ordre décroissant, je ne suis pas sûr de ce que j'ai manqué dans mon code. La méthode OrderBy
que j'ai utilisée provient de here (MSDN).
Pourquoi ne pas utiliser OrderBy() ThenBy() –
@ShannonHolsinger Parce qu'il n'y a pas 'ThenBy()' en tri dynamique ... – Phantom
Hahaha oui, vous avez raison. Ma faute. Se déplaçant le long .... –