【发布时间】:2009-06-10 13:46:11
【问题描述】:
到目前为止,我有一个 linq 查询,它用过滤条件完美地填充了数据网格。 但是,当我尝试实现排序时,我失败了。
我有以下代码。它捕获了排序的开始。
protected void gvServers_Sorting(object sender, GridViewSortEventArgs e)
{
if (e.SortDirection == SortDirection.Ascending)
{
SortDataAsc(e.SortExpression);
}
else if (e.SortDirection == SortDirection.Descending)
{
SortDataDesc(e.SortExpression);
}
}
在这些子方法中,我想处理每个可能的排序表达式的排序。 但是,当我尝试使用 gridview 中已经存在的数据时,它不允许我使用 orderby 对其进行 linq
private void SortDataAsc(string p)
{
var data = gvServers.DataSource;
switch (p)
{
case "domain":
var sorted = data.nothinghappenshere
default:
break;
}
}
正如你所看到的,我无法对数据进行排序(可能是因为它是一个 var)。
我在网上看到的是,您可以像我在 SortDataAsc() 中尝试做的那样从 gridview 中获取数据,但它似乎不是那样工作的。
我只是想按我的结果集中的某个字段排序(在本例中是从连接派生的匿名类)
【问题讨论】:
标签: c# asp.net linq linq-to-sql