如何在asp2.0中增加中继器的排序功能



我使用的是asp2.0,我需要对中继器控件进行排序。我在网上搜索,但找不到正确的解决方案。如果有人知道答案,请帮我解决问题。

在绑定到中继器之前,需要对集合进行排序。

如果要在post-back上动态排序,请在重新绑定到中继器之前在事件处理程序中进行排序。

本文解释了如何向Repeater或DataList控件添加排序功能。它可能有助于你的目的,或者至少作为一个指南。

最后我在Repeater Control中得到了排序输出。

1.维护静态变量;

static int count = 0;

2.在链接按钮中单击事件

protected void lnkreq_name_click(object sender, EventArgs e)
{
   count=Convert.ToInt32(ViewState["count"].ToString());
   ViewState["count"] = count;
   loadRepeater("REQUEST_NAME",count);
}

3.调用功能

protected void loadRepeater(string reqname,int count)
{
     //write the code to bind into Dataset
     DataView dv = ds.Tables[0].DefaultView;
     if (count  == 0)
     {
         dv.Sort = reqname + " asc";
         ViewState["count"] = 1;
      }
      else if (count == 1)
      {
          dv.Sort = reqname + " desc";
          ViewState["count"] = 0;
       }
       //then bind into repeater
}

4.中继器内

<asp:Repeater runat="server" ID="RepeaterEntry" >
 <HeaderTemplate >
<table class="list_table" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<th><asp:LinkButton ID="lnkreq_name" runat="server" ForeColor="white" OnClick="lnkreq_name_click" >Request Name</asp:LinkButton></th>
</tr>
</HeaderTemplate>
 <ItemTemplate>
<tr>
<td><%# Eval("REQUEST_NAME")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>

最新更新