这是我的第一个真正的问题,即.NET世界中是否需要任何Gridview专家。

我从后台代码创建一个Gridview,并且在列中保存了一堆数字数据。 虽然,但我确实在codebehind的数字字段中添加了逗号。 当我将其加载到Gridview时,我启用了排序功能,但由于我添加了这些逗号,因此gridview选择了ALPHA排序而不是数字排序。

所以我需要帮助。 有人愿意试一试吗? 我需要将gridview中的某些列更改为数字排序,而不是它使用的alpha排序。

===============>>#1 票数:1

如果您最终实现了自己的比较器并将其作为字符串排序,则“正确”对待数字的算法称为自然排序。 杰夫在这里写了一篇很好的文章:
人选:自然排序

您可以在C#中找到一个很好的实现:
http://www.codeproject.com/KB/string/NaturalSortComparer.aspx

===============>>#2 票数:0 已采纳

相反,我只是诉诸于JQUERY表排序器。

可以在这里找到: tablesorter

===============>>#3 票数:0

根据确切的排序方式,您可以使用上述方法之一,或者如果列实际上是数字类型,则可以返回到DB并在那里完成排序,然后再添加修饰。

===============>>#4 票数:0

我意识到这确实很古老,但是您正在将数据与演示结合在一起; 这就是搞砸排序的原因。 从SQL中获取数字而不添加逗号,然后将其添加到表示层中。

===============>>#5 票数: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);
});

  ask by community wiki translate from so

未解决问题?本站智能推荐:

4回复

如何在asp.net中的GridView中对数据进行排序

如何根据某些列对GridView获取的数据表进行排序。 我试图做这样的事情,但它不起作用。
1回复

ASP.NET-扩展gridview以允许进行过滤,排序,分页等

我在许多站点上都看到过有关扩展gridview控件的线程,因此显然这将是重复的。 但是我还没有找到能真正将控件扩展到您可以进行自定义排序(带有标题图像),通过在标题列中放置下拉列表或文本框(逐列)进行过滤以及自定义分页(一个)的控件不会返回所有记录,而只会返回给定页面请求的记录)。 有没
1回复

如何对GridView进行分组排序?

我有一个GridView,它从DataTable中读取数据。 每两行是一个不同的类别。 当用户单击列进行排序时,我想根据每个类别对结果进行排序吗? 即,不仅对所有记录进行排序,而且对每个类别的所有记录进行排序。 人们将如何去做呢?
2回复

在asp中对GridView中的数据进行排序

我有一个GridView,它充满了数据库中的数据。 我使用mssql函数获取我的数据。 这就是我获取数据的方式: 问题是我已经在我的函数中对数据进行排序。 我还使用Switch案例来确定选择哪些数据进行查看。 函数sql: 谁能帮我这个 ?
2回复

GridView中的双向排序

如何在GridView中实现双向排序,但前提是GridView不会绑定到SQL,而是绑定到datatable-column-row和dataset。 谢谢!
1回复

使用后面的代码对Gridview中的列进行重新排序

我想在gridview使用ItemTemplate而不是BoundField时切换列: 我试过“ TemplateField abc = new TemplateField()”和.add(),如何指定新的列号位置? 谢谢。
1回复

GridView排序和删除; 错误的行

所以我有一个网格视图,它从数据库中获取数据。 我希望能够对该表进行排序和分页,以及删除单行。 现在的问题是:我需要每次都绑定我的数据(也在回发时),否则我的数据源在尝试排序时将为null,但是这样做的话,每次尝试删除(或编辑)时我也会得到错误的行一排。
2回复

GridView升序排序不起作用

我有一个启用排序的GridView。 对于单页结果,升序和降序都可以正常工作。 但是当有多个页面时,单独降序效果很好。 排序也有效,但是当我单击下一页时,它再次变为未排序。 我不知道问题是由于排序方向还是页面调度。 请帮助。 以下是代码:
3回复

具有自动分页,可排序,可搜索的ASP.NET网格... GridView? 列表显示?

我需要建立一个<table>来显示Products。 我对GridView或ListView不太熟悉,不确定它们是否可以在下面执行这些操作。 要求: 自动分页。 一次仅获取100条记录(首次加载时未提取全部1000000条记录) 可排序的。 我需要能够指
3回复

有没有一种方法可以对GridView / DataView中的指定记录而不是WHOLE表进行排序?

例如,我能否对索引为0到9的行进行排序,而行10到15的行将保持未排序状态? 这可能吗? 如果是这样,有人可以建议实现此目标的方法吗? 谢谢