none
ObjectDataSourceの取得件数について RRS feed

  • 質問

  • いつもお世話になります。

    取得件数について質問です。

    ObjectDataSouceでSQLを実行して、
    取得結果をGridViewで、画面に表示しています。

    GridViewのPageSizeを10に設定して、
    画面に10件ずつ表示しています。

    この時に、同じ画面のラベルに、ObjectDataSourceで
    取得した件数を表示したいのですが、
    GridView.Row.Countには、10件と表示されてしまいます。

    取得件数を表示するには、別途カウントを取得するSQLを
    実行するしかないのでしょうか。それとも何かのプロパティに
    設定されているのでしょうか。

    ご存知の方がおられたら教えてください。
    よろしくお願いします。

    2006年9月21日 7:16

回答

  • C#だと、以下のような感じです。

    ((DataView)ObjectDataSource1.Select()).Count;

    VBだと、

    CType(ObjectDataSource1.Select, DataView).Count

    DataViewはクラスで、ライブラリを追加しなくても普通に使用できます。名前空間はSystem.Dataです。

    2006年9月21日 10:00
    モデレータ

すべての返信

  • ObjectDataSourceのSelectメソッドを実行するとDataViewが得られるので、そいつのCountプロパティが目的のものになるはずです。他にもっと効率的なのがあるかなぁ?
    2006年9月21日 8:00
    モデレータ
  • 返信ありがとうございます。

    すみません、ご回答について質問させてください。

    DataViewというのは、コントロールなのでしょうか。
    ライブラリを追加しなければ使用できない類のクラスでしょうか。

    SELECTメソッドは、IEnumableが戻り値の型に指定されていますが、
    この値を利用するのでしょうか。IEnumerable(Of GridView)で
    取得しようと記述すると例外が発生してしまいます。

    よろしくお願いします。

    2006年9月21日 9:34
  • C#だと、以下のような感じです。

    ((DataView)ObjectDataSource1.Select()).Count;

    VBだと、

    CType(ObjectDataSource1.Select, DataView).Count

    DataViewはクラスで、ライブラリを追加しなくても普通に使用できます。名前空間はSystem.Dataです。

    2006年9月21日 10:00
    モデレータ
  • 返信ありがとうございます。

    Imports System.Data を追加することで解決しました。

    ありがとうございました。

    2006年9月21日 10:10