- PR -

ASP.NETのFlowLayoutのスクロール位置の保存

1
投稿者投稿内容
kureru
常連さん
会議室デビュー日: 2005/07/26
投稿数: 22
投稿日時: 2005-08-10 10:35
お世話になります。

現在DataGridをFlowLayoutの上に乗せてスクロールするようにしているのですが、ポストバックが起きた際にスクロールの位置が一番上に戻ってしまうのですが、現在の位置を保存しておくという事はできないのでしょうか?
いろいろ調べてみたのですが、smartNavigationとも違うみたいで、FlowLayoutのEnableViewStateをtrueにしてみたりしたのですが、やはり一番上に戻ってしまいます。

どなたか方法や考え方をご存知の方がいればよろしくお願いします。
かえで
常連さん
会議室デビュー日: 2004/09/16
投稿数: 38
投稿日時: 2005-08-10 11:22
おはようございます。かえでです。
力技で持っていく方法ならありますが。。。@_@;)

例えば
☆〜aspx側
If IsPostBack Then
''-----DataGridの縦Scroll位置補正
Dim script As New System.Text.StringBuilder
script.Append("<script language=""JavaScript"">")
script.Append("document.getElementById('divScroll').scrollTop = '")
script.Append(Me.hidScroll.Value)
script.Append("';")
script.Append("</script>")
Page.RegisterStartupScript("authenticated", script.ToString)

Exit Sub
End If

☆HTML側(JavaScript)
function lfncScroll_Y(Panel) {
 document.frmDrSearch.hidScroll.value = Panel.scrollTop;
}

☆HTML側(デザイン)
<DIV id="divScroll" onscroll="lfncScroll_Y(this)〜</DIV>"
<INPUT id="hidScroll" type="hidden" name="hidScroll" runat="server">

こんな感じでいかかでしょう?
スクロール位置を常に保持しておくことになります。
kureru
常連さん
会議室デビュー日: 2005/07/26
投稿数: 22
投稿日時: 2005-08-10 13:39
サンプルを参考にさせていただいて、無事動作させることができました。
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)