2008-09-17 41 views
0

这是我第一个需要任何Gridview专家在.NET世界中的真正问题。.Net Gridview alpha排序,它需要进行数字排序

我从代码隐藏创建一个Gridview,我在列中持有一堆数字数据。虽然,我确实在代码隐藏的数字字段中添加了逗号。当我将它加载到Gridview时,我打开了排序功能,但Gridview选择ALPHA排序而不是按数字排序,因为我添加了这些逗号。

所以我需要帮助。任何人愿意给这个一个镜头?我需要将gridview中的一些列更改为数字排序,而不是使用它的alpha排序。

回答

0

相反,我刚使出JQUERY表分拣机。

可以在这里找到:tablesorter

0

我相信你可以提供自己的比较器对象来排序gridview。只是暗示IComparer。下面是一个文章:

Gridview Guy Article

0

这依赖于你是如何做的排序,你可以使用的一个上面的方法,或者如果列实际上是一个数字类型,则可以返回到数据库并在那里完成排序,然后稍后将其添加到它。

0

P-Invoke是你的朋友。

[DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)] 
private static extern int StrCmpLogicalW(string psz1, string psz2); 

然后,你可以使用它作为你自己的比较器。

例如(在VS2005)

Array.Sort(tringArray, delegate(string left, string right) 
{ 
    return StrCmpLogicalW(left, right); 
}); 
0

我意识到这是真的老了,但你混合的呈现数据;那就是搞砸了。从SQL中取出数字而不添加逗号,然后将它们添加到表示层中。