- 題名: 動的に作ったスクロールのポジションを保存したいです。
- 日時: 2011/03/07 16:54:14
- ID: 28288
- この記事の返信元:
- (なし)
- この記事への返信:
- [28292] Re[1]: 動的に作ったスクロールのポジションを保存したいです。2011/03/08 9:30:25
- ツリーを表示
■No28288に返信(ばえさんの記事) > GridViewなどの静的な画面の対応方法については参考資料がありましたが、今回のように動的 > なスクロールはどう対処すべきなのかよくわからないです VB.NET で Table に TableRow を追加するのであれば Table に TableRow を追加する処理 はサーバー側で行われます。クライアント側から見ると Table コントロールも GridView コントロールも HTML Table Element として認識されます、どちらも静的です。 GridView コントロールが暗黙的におこなう行の追加を Table コントロールで明示的に記述するわけです ので、静的と動的の対比よりは暗黙と明示の対比が近いのではないかと思います。 ばえさんがお調べになった方法がどのようなものかわかりませんが GridView の対応方法をその まま適用できないでしょうか。 コードを拝見すると div のスクロールポジションを保存したいということですかね。
分類:[ASP.NET]
皆様、
いつもお世話になります。
ASP.NETが初めてなのでいろいろ掲示板で勉強しながら小さいプロジェクトを進めているのですが、
スクロールの画面がいつも初期表示になって困っています。
現在、作成している画面はエクセルのようにユーザさんが自由に横、縦の項目を追加したり削除することができる仕様になっています。
そのために、以下のように画面上ではTableだけ設定しておいて
<div id="divTest" class="ViewTable" style="width:1170px; overflow-x:scroll; overflow-y:hidden">
<asp:Table ID="Table_header" runat="server">
</asp:Table>
<div class ="MainView" style="height:460px; overflow-y:scroll; overflow-x:hidden">
<asp:Table ID="Table_body" runat="server">
</asp:Table>
</div>
</div>
VB側でTable_body.Rows.Add(TableCellを設定したTableRow) で動的に項目を設定しています。
データの更新や登録処理の後、スクロールを処理前の位置にしてほしいですが、いつも最初のところに戻ってしまいます。
GridViewなどの静的な画面の対応方法については参考資料がありましたが、今回のように動的なスクロールはどう対処すべきなのかよくわからないです。
ボタンをクリックする際に、
【scriptで現在のスクロールの位置を取得し、画面の非表示フォームに格納、処理が終わってから画面を表示する際に非表示フォームを参考にしてスクロールを処理前に戻す】という流れでなんとかなるのかなと思いますが、なかなかうまくいきません。
上記のような流れって合ってますでしょうか。他に簡単な処理方法はありますでしょうか。是非教えて頂ければ幸いです。
よろしくお願い致します。