2012-01-11 39 views
3

我使用asp 2.0,我需要排序中繼器控制的要求。我在互聯網上搜索,但我找不到正確的解決方案。如果有人知道答案,請幫助解決我的問題。如何在中繼器中添加排序功能在asp 2.0中?

+0

如果任何人有排序功能簡單的解決方案然後給你的建議。參見我的答案。 – 2012-01-12 07:12:12

+0

如果有人給予負面評價,請說明原因。 – 2012-01-12 07:15:03

回答

2

最後我得到了Repeater控件的排序輸出。

1.Maintaining靜態變量;

static int count = 0; 

2.In LinkBut​​ton的Click事件

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

3.call功能

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.In直放站

<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> 
+0

我認爲這個代碼可能是Repeater Control中排序函數的解決方案之一。我接受這不是排序選項的最佳解決方案。如果任何人有簡單的排序功能解決方案,然後給你的建議。 – 2012-01-12 07:11:18

7

您需要綁定到中繼器之前收集整理。

如果您想要對帖子進行動態排序,請在重新綁定到中繼器之前對事件處理程序進行排序。

2

This本文解釋瞭如何將排序功能添加到Repeater或DataList控件。這可能有助於你的目的,或者至少作爲指導。

+0

我使用查詢將數據綁定到數據集中,然後分配給中繼器控制。但是這篇文章正在使用sqldatasource。如何在我的轉發器控制中進行排序.. – 2012-01-12 05:14:47