|
|
1
2
|
|
|
2
0
我也遇到了类似的问题,我需要在对象上实现IComparable。基本上,要对一组对象进行排序,你需要一种方法来区分它们的顺序。IComparable接口有一个名为Compare的方法,它允许。Net框架,用于在排序时计算对象的顺序。您需要自己实现此方法才能使排序方法工作。 你没有提到错误消息,所以我不能确定是否是这样,你能发布错误吗? 编辑: 关于您的评论;您可以实现多列排序,它只需要更多的工作。您可以指定对集合进行排序的字段,然后在CompareTo方法中使用此信息。 |
|
3
0
鉴于您显然是在用自己的对象集合填充网格,这听起来像是Linq for objects的完美工作。只需稍加努力,您就可以对您的集合实现有效的SQL Select语句。很酷的东西。 http://www.hookedonlinq.com/LINQtoObjects5MinuteOverview.ashx 此外,您真的只想对网格中的数据进行排序吗?如果是这样,那么肯定会用Linq来对付你的物体。然而,对网格内容进行排序很少能真正解决问题(“对网格进行排序”通常意味着更改用于填充网格的数据的访问路径。)浏览器应用程序与Windows应用程序不同,也没有与底层数据源的全时连接,无法像Windows中的DataGridView那样神奇地发生事情。 |
|
|
4
0
您可以将带有On_Click事件的链接按钮作为每列的标题。 当事件被触发时,找出哪个标头被点击了(每个标头一个方法或一个commandArgument值)。一旦知道了,做一个.orderBy或。对对象集合进行OrderByDescending,并将结果作为网格视图的数据源和数据绑定放回。 |
|
|
5
0
自从我最初提出这个问题以来的一年里,我设法实现了一个新的“标准”,这样业务对象的集合现在就是通用列表。 因此,现在一个“Collection类”只不过是一个“Inherits List(Of MyBusinessObject)”,其排序方法如下(性能不是问题):
这似乎与GridView用于触发事件的方法完美配合。 |