Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ASP.NET MVC LINQ对WebGrid中使用的2列进行排序

ASP.NET MVC LINQ对WebGrid中使用的2列进行排序
EN

Stack Overflow用户
提问于 2014-02-12 02:53:35
回答 1查看 261关注 0票数 1

这里是我的控制器的示例片段:

代码语言:javascript
运行
AI代码解释
复制
public ViewResult Index(int id)
{
    var viewModel = new IssueFileIndexViewModel();

    viewModel.IssueFile = db.IssueFiles.Include(i => i.Issue).Where(i => i.Id == id).ToList();

    return View(viewModel);
}

以下是视图中的我的WebGrid:

代码语言:javascript
运行
AI代码解释
复制
@{
    var grid = new WebGrid(source: Model.IssueFile,
                    rowsPerPage: 15,
                    canPage: true,
                    canSort: true,
                    fieldNamePrefix: "gridItems_",
                    pageFieldName: "inside",
                    selectionFieldName: "selectedRow"
                );

    @grid.GetHtml(tableStyle: "hovered",

            columns: grid.Columns(

                    grid.Column(
                        columnName: "Volume",
                        header: "Volume"
                    ),

                    grid.Column(
                        columnName: "Number",
                        header: "Number"
                    ),
            )
        )   
}

这里有一个样例表,我想按数量和数量进行排序:

我怎样才能按卷上升和数字下降来分类呢?如下所示:

我希望我说得很清楚。:(

-编辑--

以下是我的查询:

代码语言:javascript
运行
AI代码解释
复制
SELECT Id, Volume, Number from IssueFiles WHERE Id = @0id
ORDER BY
 CASE WHEN ISNUMERIC(Volume) = 1
 THEN
    Volume
 ELSE 
    CASE 
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 10)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 10) AS INT)
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 9)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 9) AS INT)
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 8)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 8) AS INT)
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 7)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 7) AS INT) 
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 6)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 6) AS INT)
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 5)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 5) AS INT)
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 4)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 4) AS INT)
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 3)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 3) AS INT)
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 2)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 2) AS INT)
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 1)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 1) AS INT)
        WHEN ISNUMERIC(SUBSTRING(Volume, 0, 0)) = 1 
        THEN 
            CAST(SUBSTRING(Volume, 0, 0) AS INT)
    END
 END
ASC, Number ASC;

我现在的问题是如何将它转换为LINQ查询。请帮帮我!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-02-12 03:26:06

尝试在检索中添加一个订单:

代码语言:javascript
运行
AI代码解释
复制
viewModel.IssueFile = db.IssueFiles.Include(i => i.Issue).Where(i => i.IssueID == _IssueID).Order(i => i.Volume).ToList()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21725825

复制
相关文章
使用RazorEngine对ASP.NET MVC的Views进行UnitTest
该文介绍了如何使用RazorEngine对ASP.NET MVC的Views进行UnitTest。首先,作者通过Nuget安装了RazorEngine。然后,他们创建了一个新的ASP.NET MVC项目并修改了Index.cshtml。最后,他们使用RazorEngineService创建了测试模板,并运行了测试。测试结果表明,RazorEngine可以成功运行,并生成了预期的HTML。
MJ.Zhou
2018/01/04
7610
使用RazorEngine对ASP.NET MVC的Views进行UnitTest
使用 Python 对波形中的数组进行排序
假设我们采用了一个未排序的输入数组。我们现在将对波形中的输入数组进行排序。数组 'arr[0..n-1]' 以波形排序,如果 arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= .....
很酷的站长
2023/02/22
7.4K0
使用 Python 对波形中的数组进行排序
html grid_react datagrid
ASP.NET MVC 3 Beta中除了推出一种新的视图引擎Razor。还推出了几种新的HtmlHelper。我比较关注的是WebGrid,这篇文章将介绍一下WebGrid的使用。WebGrid提供了分页和排序的功能,在此之前在MVC中分页和排序时需要自己去写的。这篇文章将分别介绍在aspx视图引擎和Razor视图引擎中如何使用它。
全栈程序员站长
2022/11/08
6460
asp.net gridview_net core mvc 怎么做增删改查
在 ASP.NET MVC 3 中,WebGrid 是 Web.Helpers 下的新的类,使用 WebGrid 可以减小我们的代码量,本篇先简单的看下 WebGrid 的使用方法,包括它的分页、排序功能以及样式的设置等。
全栈程序员站长
2022/11/10
9350
asp.net gridview_net core mvc 怎么做增删改查
Python中对list进行排序
很多时候,我们需要对List进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序 方法2.用built-in函数sorted进行排序(从2.4开始) 这两种方法使用起来差不多,以第一种为例进行讲解: 从Python2.4开始,sort方法有了三个可选的参数,Python Library Reference里是这样描述的 cmp:cmp specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument: "cmp=lambda x,y: cmp(x.lower(), y.lower())" key:key specifies a function of one argument that is used to extract a comparison key from each list element: "key=str.lower" reverse:reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.In general, the key and reverse conversion processes are much faster than specifying an equivalent cmp function. This is because cmp is called multiple times for each list element while key and reverse touch each element only once. 以下是sort的具体实例。 实例1: >>>L = [2,3,1,4] >>>L.sort() >>>L >>>[1,2,3,4] 实例2: >>>L = [2,3,1,4] >>>L.sort(reverse=True) >>>L >>>[4,3,2,1] 实例3: >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>L.sort(cmp=lambda x,y:cmp(x[1],y[1])) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例4: >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>L.sort(key=lambda x:x[1]) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例5: >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>import operator >>>L.sort(key=operator.itemgetter(1)) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例6:(DSU方法:Decorate-Sort-Undercorate) >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>A = [(x[1],i,x) for i,x in enumerate(L)] #i can confirm the stable sort >>>A.sort() >>>L = [s[2] for s in A] >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 以上给出了6中对List排序的方法,其中实例3.4.5.6能起到对以List item中的某一项 为比较关键字进行排序. 效率比较: cmp < DSU < key 通过实验比较,方法3比方法6要慢,方法6比方法4要慢,方法4和方法5基本相当 多关键字比较排序: 实例7: >>>L = [('d',2),('a',4),('b',3),('c',2)] >>> L.sort(key=lambda x:x[1]) >>> L >>>[('d', 2), ('c', 2), ('b', 3), ('a', 4)] 我们看到,此时排序过的L是仅仅按照第二个关键字来排的,如果我们想用
py3study
2020/01/09
2.6K0
MVC学习笔记八:WebGrid控件的高级使用「建议收藏」
在笔记三中记录了WebGrid的简单使用,但实际工作中并不能满足开发要求,比如:考虑到性能,要求服务器端分页,而不是查出所有数据来进行简单的客户端页面分页;要在排序时,给列标题显示不同图像等等,都不是直接就能满足的,这里记录下对WebGrid进行的较高层次的使用。
全栈程序员站长
2022/11/08
9540
MVC学习笔记八:WebGrid控件的高级使用「建议收藏」
使用QCollat​​or对QStringList进行排序
  QCollator类根据排序规则算法比较字符串。以下例子是对QStringList进行数字优先且区分大小写比较排序。
Qt君
2023/03/17
3.1K0
使用QCollat​​or对QStringList进行排序
ASP.NET MVC5+EF6+EasyUI 后台管理系统(17)-LinQ动态排序
首先修复程序中的一个BUG这个BUG在GridPager类中,把sord修改为sort这个名称填写错误,会导致后台一直无法获取datagrid的排序字段 本来是没有这一讲的,为了使20行的代码精简成2行,我查阅了一些资料,借鉴了一些大神的建议,首先感谢第八讲中,11楼@nyth和15楼@红颜醉丶帝的建议投递,每一次的的排序要都一个判断这的确很麻烦,我们利用反射来解决这个问题。 先看原来的代码 //排序 if (pager.order == "desc") {
用户1149182
2018/01/16
8410
使用Sentinel对Spring MVC接口进行限流
Spring Cloud Alibaba提供了中间件Sentinel,它以流量为切入点,提供了流量控制、熔断降级、系统负载保护等多个功能来保护服务的稳定性。今天就来尝试一下。
码农小胖哥
2020/10/10
2.1K0
使用Sentinel对Spring MVC接口进行限流
ASP.NET MVC5高级编程 ——(7)LINQ to SQL
LINQ( Language Integrated Query )——语言集成查询,.NET Framework 3.5 中出现的技术,其命名空间(.NET Framework):System.Linq;
浩Coding
2019/07/03
2.6K0
如何对Spring MVC中的Controller进行单元测试
对Controller进行单元测试是Spring框架原生就支持的能力,它可以模拟HTTP客户端发起对服务地址的请求,可以不用借助于诸如Postman这样的外部工具就能完成对接口的测试。 具体来讲,是由Spring框架中的spring-test模块提供的实现,详见MockMvc。
编程随笔
2022/04/29
2.5K0
python 使用pandas对csv文件进行排序
背景:使用jmeter的插件PerfMon生成的结果数据,需要获取到cpu的TOP 10.
小白will
2019/01/28
8.2K0
python对字典进行排序
标准的python字典是无序的。即使对(键、值)对进行了排序,也无法以保留排序的方式将它们存储在dict中。
IT工作者
2022/07/07
2.1K0
Delphi对TStrings进行排序
最近在做一个Delphi的对接第三方支付的接口,接口签名机制模仿微信的签名方式,把参数按ascii码进行排序后再加上key进行md5的加密,因为调用接口的的Post里面的参数是TStrings类型的,但是在TStrings类型里面没有Sorted排序这个方法。所以我自己重写了一个函数用于处理这个。
Vaccae
2019/07/25
1.6K0
Django 数据查询中对字段进行排序
也可以使用两个字段进行排序,当 第一个字段值 相等时,再用 第二个 字段值 来排序
卓越笔记
2023/02/18
3K0
对map集合进行排序
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序。
java思维导图
2018/11/30
1.9K0
对map集合进行排序
LUA对Map进行排序
Lua中最常见的数据结构就是Table, 用Table表示Map很容易, 但早期Lua没有提供一个针对Map数据结构的排序方法,下面用Moonscript实现了一个Map型数据结构排序函数方法。
糖果
2019/11/20
3.6K0
使用asort函数对PHP数组进行升序排序
PHP是一门功能强大的语言,数组是PHP中十分常用的数据结构之一。在实际开发中,经常需要对数组进行排序。PHP提供了多个函数用于对数组进行排序,其中asort函数可以实现对数组进行升序排序。
很酷的站长
2023/08/25
7410
使用asort函数对PHP数组进行升序排序
直播案例 | 使用PageRank对全球机场进行排序
PageRank 是谷歌公司起家的算法,在数据科学领域具有重要的地位和作用。PageRank 算法最初提出来用于利用网页之间的链接关系来对网页进行排序,从而优化搜索引擎的效果。如今,我们可以将 PageRank 算法用作网络中节点排序的一般算法。
数据酷客
2020/05/18
2.7K0
直播案例 | 使用PageRank对全球机场进行排序
点击加载更多

相似问题

ASP.NET MVC4无法按DateTime列对webgrid进行排序

12

如何在mvc 4 webgrid中对DropDownList项进行排序?

12

使用MVC3 Ajax WebGrid进行反向排序

13

使用WebGrid进行排序

20

使用LINQ/.NET MVC对搜索结果进行排序

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档