【发布时间】:2017-11-15 18:40:02
【问题描述】:
我尝试按编号对部门进行排序,但由于部门编号作为字符串存储在数据库中,我不能只使用按编号排序。 我尝试将其解析为浮点数,但它不起作用。然后我尝试将其解析为 Double。那也不行。有什么建议?以下是我的代码。
using (var db = new Context())
{
var datasource = (from x in db.Departments
orderby double.Parse(x.DepartmentNumber)
select x).ToList();
lvData.DataSource = datasource;
lvData.DataBind();
}
感谢您的回答,我做了以下操作,但结果并不完全正确。
var datasource = (from x in db.Departments orderby x.DepartmentNumber select x).ToList().OrderBy(Department => float.Parse(Department.DepartmentNumber));
【问题讨论】:
-
我有点惊讶
DepartmentNmber不是双重类型。 -
我们猜不出你对“正确”的定义是什么。你的意思是你想让
209.01出现在222之前?屏幕截图中显示的排序似乎表明您的语言环境使用逗号作为小数点,然后对其进行解析。 -
感谢您的评论,我刚刚想通了,现在可以使用了。请进一步阅读我的答案。
-
是的,请参阅链接的重复项。它有助于将问题分解为较小的部分,然后您会发现每个问题都已被询问和回答过。 :)