zoukankan      html  css  js  c++  java
  • datagrid在MVC中的运用09-实现排序

    本文体验datagrid的排序。

    □ 思路

    当点击datagrid的标题,视图传递给Controller的Form Data类似这样:page=1&rows=10&sort=CustomerID&order=asc。为了应对变化,把关于分页的封装成基类,其他关于排序或搜索的封装成继承该基类的子类。再把这些子类对象实例传递给服务层方法。

    datagrid参数

      相关Model

    展开

      服务层根据CustomerParam返回Customer集合,并返回一个输出总记录数

    展开

    在进行分类的时候,用到了针对 IEnumerable<Customer>扩展方法OrderByWithDirection,如下:

    using System.Linq;
     
    namespace DataGridInMVC2.Helpers
    {
        public static class SortExtension
        {
     
            public static IOrderedEnumerable<TSource> OrderByWithDirection<TSource, TKey>(
                this IEnumerable<TSource> source,
                System.Func<TSource, TKey> keySelector,
                bool descending)
            {
                return descending ? source.OrderByDescending(keySelector) : source.OrderBy(keySelector);
            }
        }
    }
     

      CustomerController

    展开

      Customer/Index 视图

    展开

    最终效果:
    sorting
  • 相关阅读:
    QML vs WEB
    《TO C产品经理进阶》
    《TO B产品设计标准化》
    《多元思维模型》跨学科及其核心思维模型
    产品经理审美训练
    Aria2多线程轻量级批量下载利器
    正则表达式
    如何开发一个用户脚本系列教程
    Aria2自动下载
    助贷
  • 原文地址:https://www.cnblogs.com/darrenji/p/3576842.html
Copyright © 2011-2022 走看看