0

データ グリッドを使用しており、データ ソースをバインドしています。

pagedDataSource DataSourceCount からオーバーライドされた InitializePager メソッドで、グリッド内のレコードの総数を取得しようとしています。

DataSourceCount が ObjectDataSource の SelectCountMethod からレコード数を返すと思っていましたが、DataSourceCount は総レコード数ではなくページ サイズを示していますが、デバッグして SelectCountMethod を確認すると、正しい総レコード数が返されます。

DataGrid の SelectCountMethod からデータを取得する方法がわかりません。

4

1 に答える 1

0

DataSourceには、SelectメソッドとSelectCountメソッドが実行されたときに発生するSelectedイベントがあります。少し醜い場合でも、カウントを取得する方法です。

protected void MyDataSource_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
    var count = e.ReturnValue as int?;
    if (count.HasValue)
        litResults.Text = string.Format("Total results found {0}", count);
}

ObjectDataSourceのMyCountメソッドはintを返すため、Selected EventArgsのReturnValueはintであり、そのカウントです。

これがお役に立てば幸いです。

于 2010-06-11T21:13:29.140 に答える