データ ソースにバインドされたリスト ビューがあります。列による並べ替えを有効にするにはどうすればよいですか?
そのため、列のタイトルをクリックすると昇順で並べ替えられ、もう一度クリックすると降順で並べ替えられます。
ウィザードでセットアップできるものはありますか、それともすべてプログラムで行う必要がありますか?
データ ソース コントロールを使用している場合は、コードを 1 行も書かずに ListView コントロールに並べ替えを実装できます。並べ替えはすべて、ListView とそのデータ ソース コントロールによって自動的に処理されます。もちろん、より高度なシナリオでは、データを手動またはプログラムで並べ替える必要がある場合があります。
次の例では、ListView は ProductName と UnitPrice で並べ替えられます。適切な CommandName および CommandArgument プロパティ値を使用して、ListView の LayoutTemplate に 2 つの LinkButton を追加するだけです。
<asp:ListView ID="ProductList" runat="server" DataSourceID="ProductDataSource">
<LayoutTemplate>
<h3>Product Listing</h3>
<asp:LinkButton runat="server" ID="SortByName" CommandName="Sort"
CommandArgument="ProductName">Sort by Name</asp:LinkButton>
| <asp:LinkButton runat="server" ID="SortByPrice" CommandName="Sort"
CommandArgument="UnitPrice">Sort by Price</asp:LinkButton>
<blockquote>
<asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
</blockquote>
</LayoutTemplate>
...
</asp:ListView>
ユーザーが [価格で並べ替え] リンクを 2 回続けてクリックすると、1 回目は商品が昇順 (最も安いものから最も高いものへ) に並べ替えられますが、2 回目は並べ替え順序が逆になります。
それは、使用している DataSource によって異なります。データ ソースで並べ替えが許可されている場合、 http://msdn.microsoft.com/en-us/library/sa88ktts.aspxで説明されている方法で設定できます。それ以外の場合は、プログラムでソートを処理する必要があります。通常、これは自動アプローチよりもさらに簡単です。