我的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