- - PR -
GridViewのEnableSortingAndPagingCallbacksプロパティについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-25 23:24
GridViewについてです。
EnableSortingAndPagingCallbacksプロパティをTrueに設定して、 クライアントコールバックを利用して Pagerで表示データの切り替えを行っています。 この表示データの切り替えなのですが、 ○セルの結合 ○複数ヘッダ行 など、グリッドの外見を制御していても、 Pagerでの表示データ切り替え時に 解除されてしまいます。 いろいろ試行錯誤してみたのですが、 まったくダメでした。 良い解決策をご存知の方がいらっしゃいましたら ご教示お願いいたします。 ちなみに、こんな感じの処理をしています。 〜〜〜〜〜〜〜〜〜〜〜〜〜 gridView.AutoGenerateColumns = false; // 列を追加 BoundField bf = new BoundField(); bf.HeaderText = "No"; bf.DataField = "No"; gridView.Columns.Add(bf); // データのセット DataTable dt = GetData(); // ここでバインドするデータを取得 gridView.DataSource = new DataView(dt); gridView.DataBind(); // ヘッダ行を追加する TableCell tc = new TableCell(); tc.Text = "あ"; GridViewRow gvr = new GridViewRow( -1, -1, DataControlRowType.Header, DataControlRowState.Normal); gvr.Cells.Add(tc); gridView.HeaderRow.Controls[0].Controls.AddAt(0, gvr); | ||||
|
投稿日時: 2006-12-26 05:19
EnableSortingAndPagingCallbacksをFalseに設定すると正常に動作する ということでしょうか? もし、そうならEnableSortingAndPagingCallbacksの代わりに AjaxのUpdatePanelを使用してみてください。 EnableSortingAndPagingCallbacksはテンプレート列が使用できないなど 制約が多いので個人的にはUpdatePanelを使用しています。 ---------------------------------------------- >この表示データの切り替えなのですが、 >○セルの結合 >○複数ヘッダ行 >など、グリッドの外見を制御していても、 >Pagerでの表示データ切り替え時に ポストバック時に初期化されているのでは? IsPostBack=True時の処理を見直して見てはどうでしょうか。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||
|
投稿日時: 2006-12-26 08:14
Access様
> EnableSortingAndPagingCallbacksをFalseに設定すると正常に動作する > ということでしょうか? はい。そうです。 > もし、そうならEnableSortingAndPagingCallbacksの代わりに > AjaxのUpdatePanelを使用してみてください。 なるほど。 そちらは、勉強不足だったので手を出していなかったのですが、 良い機会なので勉強してみようと思います。 確かに、テンプレート列が使えないのは痛いですよね。 ありがとうございました。 | ||||
|
投稿日時: 2006-12-26 08:21
前述の続きです。
> ポストバック時に初期化されているのでは? > IsPostBack=True時の処理を見直して見てはどうでしょうか 今回は、DataViewをBindしているので 毎回GridViewのDataSourceに割り当てをしています。 この際に初期化されるのでは? と思いまして、 >○セルの結合 >○複数ヘッダ行 このあたりの処理を再度行うようにしていたのですが、 ダメでした。 どうやらPagerの切り替え時には、 DataBindされた状態に戻っているようです。 なんとなく納得できるような気はしますが、、 |
1