好吧,我有一个 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;
}
}
现在,要排序的小数似乎是一个更大的问题。我尝试了一些建议的解决方案,但到目前为止没有一个有效。
- 使用浮点数代替小数。
- 使用 SortCompare // SortResult
现在,它仅按第一个数字对所有小数进行排序,即:
8616
8225
785995
7833
78069
773403
750268
74521
738249
714541
70972
and so on
那么如何解决这个问题,如果有人可以向我解释为什么会这样做就更好了?
另外,顺便说一句,如何更改CurrencySymbol?我想在整个程序中使用不同的符号,但是,它应该保留常规的 en-US 日期时间格式。