如何在 Aspnetcore 中对画面中表单的数据动态指定排序列
作者:郑德鼎
约 4 分钟阅读
更新日期:2025-03-02
1 年前更新
标签:ABAP, Data Engineering, SD, 开发, 数据工程, 销售分销
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
**问**
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
如何在Asp.netcore中对画面中表单的数据动态指定排序列?
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
**答**
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
csv文件导入系统是多数系统常见的功能之一,但当数据导入系统之后会出现展示数据行排序错乱的情况,这时就需要按照用户需求按照某列进行排序,这次讲解采用反射的方式结合Linq进行动态列排序。
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
首先介绍下项目结构,Entity存放实体类,Serivces为业务层代码,Utils文件夹包含了共同函数。
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
Stuff.cs
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
SortService.cs
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
QueryPageOptions.cs
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
QueryPageOptions类中设置了SortName保存用户需要指定的排序列名,SortOrderEnum指定了用户的排序方式,SortList是后期可扩展的多列排序的列集合,这里提供一个思考点本例不进行展开。
这里着重讲解下LambdaExtensions.cs类中的静态方法 GetSortLambda
。通过Expression类分别创造出前面传入参数的具体类型变量exp_p1,exp_p2和exp_p3,而 .Firs
t查找出LambdaExtensions中指定的静态排序方法,并通过Expression.Call(mi, exp_p1, exp_p2,
exp_p3)创造出MethodCallExpression对象,这个对象代表了一个有exp_p1,exp_p2和exp_p3三个变量的静态方法(mi)的调用,接下来只需要交由Expression.Lambda进行执行。
Controller
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
在Index方法中queryOption指定了Weight列按照升序的方式进行排序,list填充模拟的csv数据,接下来只需要把准备的变量交由委托GetSortFunc执行就能得到最终结果。
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
**-THE END-**
**“**
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
**”**
如何在 Aspnetcore 中对画面中表单的数据动态指定排序列 - 封面图
作者:王石川
审核:梁 空 超
编辑:朱思聪

关于作者:郑德鼎
企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍
来源说明:本文内容由「如何在Aspnetcore中对画面中表单的数据动态指定排序列.md」整理生成,仅用于内部技术分享与学习交流。