DOBON.NET DOBON.NETプログラミング掲示板過去ログ

GridViewのページング

環境/言語:[OS:WindowsXpPro 言語:C# .NET Framework2.0]
分類:[ASP.NET]

お世話になっております。

現在、GridViewコントロールのDataSourceに
生成したDataTableを設定する処理を行っているのですが
ページングが上手くいきません。

いろいろ調べたところ、ページングを行う為のDataSourceは
ICollectionを継承しているか
ObjectDataSourceコントロールであるか
のどちらかだけ。という事が判ったので

http://shinshu.fm/MHz/95.83/archives/0000130145.html

上の記事を参考にDataTableをObjectDataSourceに変換する処理を
行ってみたのですが上手く行きません。
以下にコードを記載致します。
ご指摘、ご教授の程よろしくお願い致します。

protected void Page_Load(object sender, EventArgs e)
{
GridView.DataSource = GetObjDataSource(dtResult);
GridView.DataBind();
}

private ObjectDataSource GetObjDataSource(DataTable dTable)
{
ObjectDataSource odsRtn = new ObjectDataSource();
odsRtn.SelectMethod = "GetData";
odsRtn.TypeName = "DataOperate.DataTableToObjectDataSource";
odsRtn.SelectParameters[0] = new Parameter("dataTable", TypeCode.Object, "dTable");

return odsRtn;
}

namespace DataOperate
{
public class DataTableToObjectDataSource
{
public DataTableToObjectDataSource()
{
}

public static DataTable GetData(DataTable dataTable)
{
return dataTable;
}
}
}
よくわかんないんだけど、↓のページは参考になりませんか?
http://www.microsoft.com/japan/msdn/net/aspnet/GridViewEx05.aspx
>あきひろさん
回答ありがとうございます。
残念ながらやりたい事とは違うようです。
別の方法で実現できましたので、報告いたします。

ObjectDataSourceを動的に生成すると
ページングが上手く行かないようなので
ObjectDataSourceをあらかじめ作成してSessionから
データを取り出す。という形で実装しました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板