2017-04-08 221 views
0

我需要從數據表中選擇行和「字段1 /字段2」進行排序VB.Net DataTable.Select - 排序表達式語法

我試過這段代碼:

Using DT_Tmp As DataTable = DT.Select("", "FirstNum/SecondNum desc").CopyToDataTable 

,但我得到的錯誤說那個專欄「FirstNum/SecondNum」不存在。

編輯
到目前爲止,我正在使用(作爲解決方法)臨時表,我添加一個字段,我存儲的比例,我使用該字段排序表。

回答

0

我不認爲選擇方法足夠聰明,可以在現場進行計算。另一個解決方法是計算列添加到您的數據表,並用其作爲排序列

+0

這裏https://msdn.microsoft.com/it-it/library/zk13kdh0(v=vs.71).aspx這裏https://msdn.microsoft.com/it-it/library /system.data.datacolumn.expression(v=vs.71).aspx我讀過它的可能 – genespos

0

嘗試把每列內根據您看了鏈接支架

Using DT_Tmp As DataTable = DT.Select("", "[FirstNum]/[SecondNum] desc").CopyToDataTable 
+0

我現在無法測試它,如果它能儘快發揮作用,我會通知您 – genespos

+0

對不起,它會繼續給出相同的錯誤,即使括號 – genespos

0

,你需要添加caluculated列首先。

csortnum= New DataColumn 
With csortnum 
    .DataType = System.Type.GetType("System.Decimal") 
    .ColumnName = "sortcolumn" 
    .Expression = "FirstNum/SecondNum" 
End With 
DT.add(csortnum) 
Using DT_Tmp As DataTable = DT.Select("", csortnum desc").CopyToDataTable 
+0

謝謝,但我已經在使用這種解決方法(你沒有看到我的編輯?) – genespos