c# - 生成されたデータリーダーを使用したグリッドビューの並べ替えとページング

c# asp.net

カスタム生成されたデータリーダーでグリッドビューを並べ替える方法のいくつかの例を探していました。

gridviewをdatareaderにバインドする方法は次のとおりです。

        sqlConn.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        gridBookings.DataSource = reader;
        gridBookings.DataBind();
        sqlConn.Close();




そして、これはgridviewのソートされたイベントハンドラです

protected void gridBookings_Sorted(object sender, EventArgs e)
{
    gridBookings.DataBind();
}




これがgridviewのマークアップです。

<asp:GridView ID="gridBookings" runat="server"  CssClass="zebra-striped" 
        EmptyDataText="No data available, sir" ShowHeaderWhenEmpty="True" 
        ClientIDMode="Static" AutoGenerateColumns="False" AllowSorting="True" 
        onsorted="gridBookings_Sorted">
<columns>
<asp:BoundField HeaderText="BookingID" DataField="booking_id" SortExpression="booking_id"/><asp:BoundField HeaderText="CustomerID" DataField="cus_id" SortExpression="cus_id" />
<!--More bound fields-->
</columns>
</asp:GridView>




そして、これはヘッダー列のリンクボタンをクリックしたときに発生するエラーです。


GridViewの 'gridBookings'が、処理されなかったイベントの並べ替えを発生させました。


何か案は?

PS。余談ですが、データがバインドされていないときに、空のグリッドビューを空の行で表示するにはどうすればよいですか?
答え
「並べ替え」イベントを購読していますが、「並べ替え」イベントも購読する必要があります。 ASP.NETの新しいバージョンに本当にアップグレードする必要があります:)
関連記事

c# - 順不同のログファイルでの検索

c# - TabControlでの画像の配置に関する問題

c# - このクラスを一般的なクラスに変えることは可能ですか?

c# - 端末(Windows-CE)が5分後にシャットダウンしないようにする方法

c# - 要素の1つを取得、変更、保存できるようにするために、関連する値のリストを保存するために使用する必要があるもの

c# - エンタープライズライブラリdbcommand AddInParameterメソッド

c# - RIAデータサービスの呼び出しをサービスレイヤーにリファクタリングするにはどうすればよいですか?

c# - MoqでHttpApplicationStateをモックするときにオブジェクトを設定できないようです

c# - ラインオブジェクトのエンドキャップの幅または高さの値を取得するにはどうすればよいですか?

c# - データベースにアクセスしてエンティティフレームワークデータをテストする