2

LinqDataSourceを使用するGridViewがあります。GridViewには、デフォルトのページングが有効になっています。Linq2SQLを使用してデータベース全体の単一の列の合計を計算できるように、ページングが行われる前にLinqDataSourceからデータを取得したいと思います。

現在、でLinqDataSource_Selectedイベントを使用しLinqDataSourceStatusEventArgs.Resultていますが、ページング後のデータ(つまり、そのページのデータ)のみが返されます。

protected void linqDataSource_Selected(Object sender, LinqDataSourceStatusEventArgs e)  
{  
    var totalTime = (e.Result as List<Ticket>).Sum(t => t.TimeSpent);  
    gridView.Columns[8].FooterText = "Sum: " + totalTime;  
}

だから私の質問は:ページングが行われる前にLinqDataSourceからデータを取得するにはどうすればよいですか?

4

1 に答える 1

1

LINQDataSourceクラスには、 DataSourceViewオブジェクトを返すGetView()メソッドがあります。DataSourceViewには、データソースを直接クエリするExecuteSelect()メソッドがあります。ExecuteSelect()メソッドでLINQ構文を使用して、合計を取得できるはずです。

于 2010-08-24T17:32:13.797 に答える