C# DataTable 按數字排序問題


用dt.DefaultView.Sort = "RateSort desc"; 方法

排序出來的順序是1,10,2,20,3,30

而非 1,2,3,10,20,30

解決方案:

按數值排序,可以添加一列轉換為數值后的列

dtSum.Columns.Add("RateSort", typeof(int));

將此列的值存放要排序的數值型

例:

dtSum.Columns.Add("Rate");//用於顯示

dtSum.Columns.Add("RateSort", typeof(int));//用於排序

double douRate = (douFirstTime / double.Parse(dtSum.Rows[i][1].ToString()))*100;
dtSum.Rows[i]["RateSort"] = douRate;

dtSum.Rows[i]["Rate"] =double.Parse(douRate.ToString("0.00")) +"%";

//綁定

DataView dv = dtSum.DefaultView;
dv.Sort = "RateSort desc";
 this.dgvAgentFirstTime.DataSource = dv.Table;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM