2012-01-11 9 views
3

私はasp 2.0を使っているので、私はリピータコントロールをソートする必要があります。私はインターネット上で検索しますが、正しい解決策を見つけることはできません。誰かが答えを知っているなら、私の問題を解決するのを助けてください。asp 2.0でリピータのソート機能を追加するには?

+0

誰でも機能をソートするためのシンプルなソリューションを持っている場合あなたの提案をしてください。私の答えを見てください。 –

+0

誰かが負のポイントを与えた場合、その理由を説明してください。 –

答えて

2

最後に、私はリピーターコントロールでソート出力を得ました。

1.静的変数の保持。

static int count = 0; 

2.InのLinkBut​​tonクリックイベント

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

私はこのコードは、リピータControl.I mでSorting機能のためのソリューションの1つであるかもしれないと思うこれはSorting Option.Ifのための最良のソリューションではないあなたの提案。 –

7

リピータにバインドする前にコレクションをソートする必要があります。

ポストバックで動的にソートする場合は、リピーターに再バインドする前にイベントハンドラーをソートしてください。

2

This記事では、並べ替え機能をRepeaterコントロールまたはDataListコントロールに追加する方法について説明します。あなたの目的や少なくともガイドとして役立つかもしれません。

+0

私はクエリを使用してデータセットにデータをバインドし、次にリピータコントロールに割り当てます。しかし、この記事ではsqldatasourceを使用しています。どのように私のリピータコントロール内の並べ替えを行うには –

関連する問題