读书人

如何让gridview按照数字的大小排列

发布时间: 2013-02-18 10:50:49 作者: rapoo

怎么让gridview按照数字的大小排列
使用gridview的时候,点击列标题栏的时候会自动进行排序,但排列是按照字符的大小进行排序的,如:
1
2
3
11
21
点击排序后为:
1
11
2
21
3
怎么样使结果按照数字大小进行排序啊:
1
2
3
11
21
gridview?排序
[解决办法]
你的sql里这列的数据类型肯定是Nvarchar的,
查询的时候转换成int类型先。
SELECT CONVERT(INT,列名) FROM 表名;
这样绑定GridView后点击标题的时候才会按照数字大小进行排列。
[解决办法]
order by cast(colname as int)
[解决办法]
先转换为int
[解决办法]

引用:
引用:你的sql里这列的数据类型肯定是Nvarchar的,
查询的时候转换成int类型先。
SELECT CONVERT(INT,列名) FROM 表名;
这样绑定GridView后点击标题的时候才会按照数字大小进行排列。
不是数据库里面的,比如自己输入到gridview里面的数字,会按照数字的大小排列不?
……
那就自己写代码将输入的字符串转为数字然后排序
[解决办法]
引用:
引用:你的sql里这列的数据类型肯定是Nvarchar的,
查询的时候转换成int类型先。
SELECT CONVERT(INT,列名) FROM 表名;
这样绑定GridView后点击标题的时候才会按照数字大小进行排列。
不是数据库里面的,比如自己输入到gridview里面的数字,会按照数字的大小排列不?
……


应该可以,具体我没试过.。
GridView不是有个数据源吗,数据源一般是个DataTable,可以设置DataTable的某列的类型为int型,前提是你在GridView中数据输入完成后重新绑定GridView。
[解决办法]
DataTable dt = new DataTable();
dt.Columns.Add("产品", typeof(int));
ViewState["SortOrder"] = "产品";
ViewState["OrderDire"] = "ASC";

DataTable dt = GetData();//获取DataTable
DataView view = dt.DefaultView;
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
view.Sort = sort;
GridView1.DataSource = view;
GridView1.DataBind();
[解决办法]
如果只是实现简单的可以参考datatable的compute

如果需要好的效果网上有jquery的插件
[解决办法]
先按数值的位数排序,再按数值的大小排序,是否好实现呢。
[解决办法]
1.在数据库里面先排好序
2.在后台重构获取的数据源,比如:
int row = ds.Tables[1].Rows.Count;
ds.Tables[1].Columns.Add("NoLi");
for (int i = 0; i < row; i++)
{
ds.Tables[1].Rows[i]["NoLi"] = (i + 1).ToString();


}
this.rpt_Address.DataSource = ds.Tables[1];
this.rpt_Address.DataBind();


把 NoLi列绑定,原先的那个隐藏到hiden里面或者不要
[解决办法]
指定gridview的coulmn为int类型。
[解决办法]
引用:
引用:引用:引用:你的sql里这列的数据类型肯定是Nvarchar的,
查询的时候转换成int类型先。
SELECT CONVERT(INT,列名) FROM 表名;
这样绑定GridView后点击标题的时候才会按照数字大小进行排列。
不是数据库里面的,比如自己输……


那貌似只能按字符串的排序方式比较了。
不知道能不能重写GridView的排序方法。
[解决办法]
绑定的时候把这个字段转成数字类型 就可以了。。
[解决办法]
引用:
引用:引用:引用:引用:你的sql里这列的数据类型肯定是Nvarchar的,
查询的时候转换成int类型先。
SELECT CONVERT(INT,列名) FROM 表名;
这样绑定GridView后点击标题的时候才会按照数字大小进……


这太纠结了
再增加一列 用来做排序用 何必去扯太多的业务


[解决办法]
其次 在设计排序的问题上 最初数据设计都有问题
为何拿一个String的数据来做排序

读书人网 >asp.net

热点推荐