linq动态排序解决方法
2009-12-08 14:41
357 查看
linq动态排序不是很好实现的,很多开发者都在这个方面有疑惑,所以笔者今天分享一下自己的经验,希望能给大家带来帮助。
想实现linq动态排序就是linq的order by 后跟动态的函数可以用委托实现,但是发现实现委托函数时候:
这个返回类型受到了限制仅是相同类型的字段可以动态排序是不是Func selector 这个的实现我理解的有问题 ?
这个函数的TKey限制只能是一种类型 ?有什么好的实现吗?
linq动态排序具体解决的代码
linq动态排序Code
以上就是对linq动态排序解决方法的简单介绍。
想实现linq动态排序就是linq的order by 后跟动态的函数可以用委托实现,但是发现实现委托函数时候:
int testSelector(post p) { ret urn p.Uu; }
这个返回类型受到了限制仅是相同类型的字段可以动态排序是不是Func selector 这个的实现我理解的有问题 ?
public IEnumerable Sort(string userName, Func selector) { return from post in posts where post.UserName == userName orderby selector(post) descending select post; }
这个函数的TKey限制只能是一种类型 ?有什么好的实现吗?
linq动态排序具体解决的代码
public class OrderBy { List posts = new List(); public List GtePost() { for (int i = 0, j=1000; i < 1000 ; i++, j--) { post p = new post(); p.Ty = i; p.Uu=j; p.UserName = "1"; posts.Add(p); } return posts; } /**//// /// Func 委托的实现 /// /// /// 可以动态设置排序的列 int testSelector(post p) { return p.Uu; } public IEnumerable GetData() { GtePost(); return Sort<int>("", testSelector); } public IEnumerable Sort(string userName, Func TKey> selector) { return from post in posts where post.UserName == userName orderby selector(post) descending select post; } }
linq动态排序Code
void BindData() { OrderBy o = new OrderBy(); post p=new post (); this.dataGridView1.DataSource = o.GetData().ToList(); }
以上就是对linq动态排序解决方法的简单介绍。
相关文章推荐
- linq to sql 学习(10)linq动态字段的解决方法
- 详解关于 C# 中 Linq 随机排序的有效解决方法
- Linq动态排序扩展方法
- datagrid控件在排序后出现问题的解决方法
- Lucene搜索结果排序问题(按时间倒序排的替代解决方法)
- 安装Win7时无法删除动态分区的解决方法
- DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
- 动态input file多文件上传到后台没反应的解决方法!!!
- sqlServer使用ROW_NUMBER时不排序的解决方法
- ping不通动态域名,解决方法
- mysql的utf8中文排序的解决方法
- eclipse安装maven插件后出现Project Explorer文件排序混乱的解决方法
- Asp.net 动态创建的控件并添加事件,无响应的解决方法。
- PHP 5.0不能加载动态模块的解决方法
- C# 动态生成窗口中的控件不显示的解决方法
- Linq初体验——Order By 通过属性名动态排序
- jquery动态改变onclick属性导致失效的问题解决方法
- 动态加载iframe时get请求传递中文参数乱码解决方法
- jquery无法为动态生成的元素添加点击事件的解决方法
- 还是一个动态生成列的问题,比较彻底的解决方法(MVP思归)