いつもお世話になっています。
ASP.NETのWebページでDBやRepeaterを使って、掲示板を作成しようとしています。
掲示するシステムは出来てきたので、Repeaterを使ってページングをしようと思っています。
調べてみるとRepeaterをPageDataSourceクラスと組み合わせれば良いということはわかりました。
しかし、DataSetのデータソースをPagedDataSourceに関連付けのしかたがわかりません。
現状では、以下のような形でRepeaterで掲示板を作っています。
//コネクション取得 SqlConnection cnn = new SqlConnection("Data Source=接続文字列"); SqlDataAdapter cmd1 = new SqlDataAdapter("SELECT * FROM bbs_table ORDER BY bbs_time DESC", cnn); //データセットを作成 DataSet ds = new DataSet(); cmd1.Fill(ds, "bbs_table"); //データベースから取得したデータを画面側にセット Repeater1.DataSource = ds.Tables["bbs_table"]; Repeater1.DataBind(); //コネクションクローズ cnn.Close(); //
この場合以下のようにPageDataSourceを作成し、プロパティしたあと、DatasetをどのようにPageDatasourceに関連付ければいいのでしょうか。
//PagedDataSource作成 PagedDataSource pds = new PagedDataSource(); //プロパティ指定 pds.AllowPaging= true; pds.PageSize = 5; pds.CurrentPageIndex = 0;
お手数おかけしますが、どうかよろしくお願いします。
追記
悩んで試したところ、以下の方法で、データを5個まで絞ってページを作成することが可能になりました。
しかし、次のデータを表示するための、「次へ」ボタンなどが実装されると思っていたのですが、されなかったようです。
引き続き調べてみますが、どなたかご教授いただけたらと思います。
DataTable dt = new DataTable(); //コネクション取得 SqlConnection cnn = new SqlConnection("Data Source=接続文字列"); SqlDataAdapter cmd1 = new SqlDataAdapter("SELECT * FROM bbs_table ORDER BY bbs_time DESC", cnn); //データテーブル生成 cmd1.Fill(dt); ////PagedDataSource作成 PagedDataSource pds = new PagedDataSource(); pds.DataSource = dt.DefaultView; pds.AllowPaging = true; pds.PageSize = 5; pds.CurrentPageIndex = 0; //データベースから取得したデータを画面側にセット Repeater1.DataSource = pds; Repeater1.DataBind(); //コネクションクローズ cnn.Close();
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。