好的,我有一个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列应先转换为小数点。 –