私はこれを持っています:
Dim strS As String = ""
Dim strRowFilter As String = "SID=" & strSID
Dim dv As DataView = objDataSet.Tables(1).DefaultView
dv.RowFilter = (strRowFilter)
dv.Sort = ("RIGHT(SName, CHARINDEX(' ', REVERSE(' ' + RTRIM(SName))) - 1)")
For Each objDataRow As DataRow In dv
'build strS
Next
Return strS
SName
は形式の文字列Firstname Midname Lastname
(ミッドネームはオプション) であり、 で並べ替える必要がありますLastname
。'Mike St. Cloud' のような特殊なケースがあることは知っていますが、最後の単語でソートしても問題ありません。上記のコードは私に与えていますSystem.IndexOutOfRangeException occurred: Cannot find column RIGHT(SName.
SQL Server でとして機能するthisから並べ替え用語を取得しました。ORDER BY
私はこれについて深く理解していないので、助けていただければ幸いです。