如何按添加日期对列进行排序

本文关键字:排序 何按 添加 日期 | 更新日期: 2023-09-27 18:27:15

我想知道一个简单的方法来按添加的日期对列进行排序,例如:

ID|Name|Age|Date
1  John 21  20/03/2012
2  Chart 22 21/03/2012
3  Dart  31 22/03/2012
4  Rat   12 23/03/2012

所以我想添加一个选项来对值的日期列进行排序,如果你知道我的意思的话。

THanks

如何按添加日期对列进行排序

您正在尝试使用Linq2Sql吗?如果是这样,你可以做:

var result = from x in MyDataTable
             orderby x.Date ascending
             select x;

(如果希望ascending换成descending)。

如果你想选择性地对它进行排序,你可以使用IQueryable<T> s并选择性地排序,一个la:

IQueryable<MyDataTable> GetData(bool sortByDate)
{
    var result = from x in DataContext.Table<MyDataTable>
                 where SomeMatchingClause(x)
                 select x;
    if(sortByDate)
    {
        result = result.OrderBy(x => x.Date); // or OrderByDescending
    }
    return result;
}

如果您直接在SQL中查询,只需执行

SELECT * FROM MyTable ORDER BY Date ASC

(如果你想让ASC换成DESC

我不经常在C#中将SQL查询构建为strings,但如果您想使其成为可选的,我想您可以增量构建查询,即使它真的很粗糙:

string GetSqlQuery(bool sortByDate)
{
    string result = "SELECT * FROM MyTable";
    if(sortByDate)
    {
        result += " ORDER BY Date ASC";
    }
    return result;
}

在SQL查询中,在末尾按DATE排序