ASP.NET : GridView : Subsonic: ソートのフィールドを変更

Subsonicで生成されるFechAllはソート条件が指定できないです。(MagazinepaperController.cs)

        [DataObjectMethod(DataObjectMethodType.Select, true)]
        public MagazinepaperCollection FetchAll()
        {
            MagazinepaperCollection coll = new MagazinepaperCollection();
            Query qry = new Query(Magazinepaper.Schema);
            coll.LoadAndCloseReader(qry.ExecuteReader());
            return coll;
        }
なので、MagazinepaperControllerEx.cs というファイルを作ってpartialな同じクラス名でFethAllbyCodeというのを定義します。
で1行ソート条件を追加します。
        [DataObjectMethod(DataObjectMethodType.Select, true)]
        public MagazinepaperCollection FetchAllByCode()
        {
            MagazinepaperCollection coll = new MagazinepaperCollection();
            Query qry = new Query(Magazinepaper.Schema);
            qry.OrderBy = OrderBy.Desc("Code");            
            coll.LoadAndCloseReader(qry.ExecuteReader());
            return coll;
        }
ObjectDataSourceのSelectMethodを変更します。

WS000034

以上。

変更するとGridViewのテンプレートが変わってしまうので注意。(*.aspx/*.ascxをコピーして変更してからソースの一部をこぴぺとか?)

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中