我的第一直觉是,如果x.billedthru是有史以来少于10个字符,你可以看到此行为。它是否返回行,如果你尝试这样:
Dim returnCollection As List(Of FundedAccountsDetail) = New List(Of FundedAccountsDetail)
Select Case sortBy
Case "billedthru"
If Ascending = "ASC" Then
returnCollection = reportCollection.OrderBy(Function(x) x.BilledThru).ToList()
ElseIf Ascending = "DESC" Then
returnCollection = reportCollection.OrderByDescending(Function(x) x.BilledThru).ToList()
End If
Case Else
returnCollection = reportCollection
End Select
如果是这样,那么问题是子字符串。如果不是,我承认这很令人困惑。我可能会尝试的是,然后从if的第一个分支中移除该命令,并查看它是否返回行。基本上工作的方式,直到如果工作的分支,然后一步一步地重建,直到我开始有问题。
来源
2014-12-05 22:55:18
EGP
请提供真正的代码。你提供的例子不足以看到这里有什么错误。 – CSharpie 2014-12-05 21:00:53
这里是代码:Dim returnCollection方式列表(中FundedAccountsDetail)=新名单(共FundedAccountsDetail) 选择案例sortBy 案 “billedthru” 如果升序= “ASC” 然后 returnCollection = reportCollection.OrderBy(功能(x)x .BilledThru.Substring(0,10))。ToList() elseif的升序= “DESC” 然后 returnCollection = reportCollection.OrderByDescending(功能(x)的x.BilledThru).ToList() 结束如果 案例否则 returnCollection = reportCollection End Select – 2014-12-05 21:50:46