0

複数のページを持つグリッドビューから作業時間の卒業生の合計を表示しようとしています。

これは私が今していることです:

 protected void gwWorkhours_DataBound(object sender, GridViewRowEventArgs e)
    {
        int hour = 0;
        if (e.Row.DataItem != null)
        {
            string hours = DataBinder.Eval(e.Row.DataItem, "hours").ToString();
                Int32.TryParse(hours, out hour);
                completeCount += hour;
        }

    }

しかし、最初のページの合計しか表示されません。

私は ObjectDataSource を使用してグリッドを次のように設定しています:

 gwWorkhours.DataSourceID = "ObjectDataSource1";
        gwWorkhours.DataBind();

グリッドビューにバインドされた後、オブジェクトデータソースからデータテーブルを取得して、それを反復処理することは可能ですか? 本当に必要でない限り、データベースに別の呼び出しを行う必要はありません。

4

1 に答える 1

1

ええ、すでに気づいているように、1 ページの合計しか得られないため、1 ページの合計しか得られません。ObjectDataSourceView次のように実際に取得できます。

var view = this.dataSource.GetView() as ObjectDataSourceView;

そして、次のSelectように発行できます。

view.Select(null);

パラメータは typeDataSourceSelectArgumentsであるため、引数を渡す必要がある場合は、それらのいずれかを作成する必要があります。

于 2013-08-06T15:58:25.550 に答える