我的DataView行事有趣,它按字母顺序排列事物,我需要它用数字排序。我已经浏览了网页上的所有内容,并发现了很多关于如何使用ICompare对其进行排序的想法,但没有什么可靠的。如何自然地将DataView与IComparable类似的排序
所以我的问题是
- 如何在一个数据视图实现ICompare(寻找代码在这里)。
- 如何正确解读包含实际字符串和充满数字(带逗号)的字符串的列。
我需要代码来帮助我解决这个问题。我对ICompare的想法或者如何在不同的场景中实现都有点失落,所以一个好的解释会很棒。
另外,请不要给我链接。我正在寻找这一个坚实的答案。
我使用的一些代码。
DataView dataView = (DataView)Session["kingdomData"];
dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);
gvAllData.DataSource = dataView;
gvAllData.DataBind();
private string ConvertSortDirectionToSql(SortDirection sortDirection)
{
string newSortDirection = String.Empty;
if (Session["SortDirection"] == null)
{
switch (sortDirection)
{
case SortDirection.Ascending:
newSortDirection = "ASC";
break;
case SortDirection.Descending:
newSortDirection = "DESC";
break;
}
}
else
{
newSortDirection = Session["SortDirection"].ToString();
switch (newSortDirection)
{
case "ASC":
newSortDirection = "DESC";
break;
case "DESC":
newSortDirection = "ASC";
break;
}
}
Session["SortDirection"] = newSortDirection;
return newSortDirection;
}
请看到我的编辑答案 – rslite 2008-09-19 07:04:17