asp.net采用三层架构使用ObjectDataSource返回List<>给Listview绑定数据,请问这情况要怎样实现数据排序呢?

我使用的是ObjectDataSource+UpdatePanel实现的真分页,简要代码如下:stringsql="selectcount(*)fromexam_allQ... 我使用的是ObjectDataSource+UpdatePanel 实现的真分页, 简要代码如下:
string sql = "select count(*) from exam_allQuestions";

string sql = "select * from (select *,Row_Number() over (order by question_id)num from exam_allQuestions)t where t.num>@StartRowIndex and t.num<=@StartRowIndex+@maximumRows";

返回给页面ListView的是一个IList<QuestionInfo>对象,当我在ListView头用<asp:LinkButton ID="LinkButton1" CommandName="Sort" CommandArgument="Subject.Subject_id" runat="server">科目</asp:LinkButton>想实现排序的时候出错:只对 DataView、DataTable 和 DataSet 支持自动排序!

请高手指点一下,我应该怎样来实现自动排序功能?如果实现不了,我应该在哪里写代码来实现排序呢?(不敢求详细代码,思路也行)
string sql = "select * from (select *,Row_Number() over (order by question_id)num from exam_allQuestions)t where t.num>@StartRowIndex and t.num<=@StartRowIndex+@maximumRows";
这条sql语句是我学书本的实现高效分页的查询语句,它里面就有了一个order by xxx
所以我才不知道应该怎样在Web页面上根据用户需要的排列顺序来再次查询排列.
对sql不熟悉,望高手赐教~说说思路也好吖,感谢!
展开
 我来答
feijiusi
2012-01-09
知道答主
回答量:18
采纳率:0%
帮助的人:7.4万
展开全部
根据用户需求 添几个排序按钮 点击按钮升序或降序
在你写好的查询语句加个Order By
如:
string sql=" select * from table1";
sql+= " order by 排序参数 asc "

sql+= " oder by 排序参数 desc"
根据参数不同而排序也不同
sd02b0825
2012-01-07 · 超过26用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:86万
展开全部
你都知道里面有个order by xxx,那还不简单吗,把xxx作为一个前台排序的变量就可以了
追问
可是我想不到应该怎样传参数进去吖,@StartRowIndex和@maximumRows这两个参数是固定的吧,如果再加上排序的参数,这样ObjectDataSource的分页会找得到该函数么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊乐成长记
2012-01-06 · TA获得超过121个赞
知道答主
回答量:87
采纳率:0%
帮助的人:49.7万
展开全部
排序功能,既可以采用DataGridView控件,也可以采用Sql 语句中的Order By语句,这都可以实现排序功能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-06
展开全部
if (sort == false)
{
sort = true;
string oldStr = this.listView1.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
this.listView1.Columns[e.Column].Text = oldStr + Des;
}
else if (sort == true)
{
sort = false;
string oldStr = this.listView1.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
this.listView1.Columns[e.Column].Text = oldStr + Asc;
}
追问
请问你这段代码是用在哪里的?
能否讲解一下
string oldStr = this.listView1.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');
this.listView1.Columns[e.Column].Text = oldStr + Asc;
的意思?我实在看不明..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
azqsx12369
2012-01-06 · TA获得超过119个赞
知道答主
回答量:239
采纳率:0%
帮助的人:91.7万
展开全部
路过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
114764703
2012-01-06 · 超过11用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:31.1万
展开全部
你都已经在查询语句里面进行排序了怎么还排序?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式