好的,我有一個DataGridView其爲數據綁定等:DataGridView的小數不排序
dataGridViewChartOre.AutoGenerateColumns = false;
dataGridViewChartOre.DataSource = xml.GetOreChart();
dataGridViewChartOre.DataMember = "ore";
所有列已經由UI手動創建。這些列由1個字符串組成,小數點後10位。最後一列是貨幣。
現在得到一個顯示在dataGridView中的貨幣很快就解決了一次,我記得xml的輸入總是一個字符串。使用這種方法:(發現其他地方在這個網站上。)
private void dataGridViewChartOre_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
string value = e.Value.ToString();
decimal d;
if (decimal.TryParse(value, out d))
{
e.Value = d;
}
}
現在越來越,小數排序似乎是一個更大的問題。我已經嘗試了幾個建議的解決方案,但是目前爲止還沒有工作。
- 使用float而不是小數。
- 利用SortCompare // SortResult
現在,它的所有排序小數僅它的第一個號碼,即:
8616
8225
785995
7833
78069
773403
750268
74521
738249
714541
70972
and so on
那麼如何解決這個問題,如果有人能更好向我解釋爲什麼這樣做?
另外,在附註中,如何更改CurrencySymbol?我想在整個程序中使用不同的符號,但是它應該保留常規的en-US日期時間格式。
你確定你手動添加的DataGridViewColumns是十進制類型嗎?您的相應DataSource列應先轉換爲小數點。 –