在datalist中怎样加一个排名

valu 2005-11-15 07:25:27
如:按人气列出10篇文章
每篇文章前加个序号(不是该文章的id):

1.《程序员》
2.《开发精选》
3.
4.
...
...全文
142 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
levin9 2005-11-27
  • 打赏
  • 举报
回复
长见识
cityhunter172 2005-11-16
  • 打赏
  • 举报
回复
推荐的做法是直接在页面上使用 <%# Container.ItemIndex+1 %>,如下
<asp:DataList id="DataList1" runat="server">
<ItemTemplate>
<%# Container.ItemIndex+1 %>、<%#DataBinder.Eval(Container.DataItem,"文章名称")%>
</ItemTemplate>
</asp:DataList>

另,只有 Oracle 支持的 SQL 写法
select rownum as 排名 ,Article as 文章名称 from Books order by OrderNum desc
clxxj 2005-11-16
  • 打赏
  • 举报
回复
<%# Container.ItemIndex+1 %>
nanhaoff 2005-11-16
  • 打赏
  • 举报
回复
提供思路:
在绑定的dataset中加入一个排名的行就可以搞定,不过效率应该不会很高
zeusvenus 2005-11-15
  • 打赏
  • 举报
回复
不用Sql解决可能更好些。
可以在数据集中处理,也可以在绑定前加模板列。
yybb520 2005-11-15
  • 打赏
  • 举报
回复
呵呵,就是啊,在你查询记录的时候就用orderby来排序撒!
njuzgj 2005-11-15
  • 打赏
  • 举报
回复
UP
afdfgg 2005-11-15
  • 打赏
  • 举报
回复
直接输出
<%# Container.ItemIndex+1 %>
gngnandgngn 2005-11-15
  • 打赏
  • 举报
回复
整理数据源datatable
然后绑定上去
zlp321002 2005-11-15
  • 打赏
  • 举报
回复
--贴出表结构来:
select
*
from
表 A
where
文章ID
in
(select top 10 文章ID from 表 where 栏目=A.栏目 order by 文章人气 desc)
order by
文章ID asc
ChengKing 2005-11-15
  • 打赏
  • 举报
回复
直接将你的数据集传给这个方法,再取返回的值进行绑定就OK.


/// <summary>
/// 增加排名字段
/// </summary>
/// <param name="ds"></param>
/// <returns></returns>
private DataSet DealDataSet(DataSet ds)
{
DataTable dt = ds.Tables[0];
DataColumnCollection columns = dt.Columns;
columns.Add("TopID",typeof(System.Int32));
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
ds.Tables[0].Rows[i]["TopID"] = i+1;
}
return ds;
}

在DataGrid中加一列TopID表示排序字段
直接绑定到DataGrid中即可
ChengKing 2005-11-15
  • 打赏
  • 举报
回复
如果"文章人气"是int类型的,表示人气数量的字段;


select 文章ID,文章Name from Table
order by 文章人气 DESC

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧