- PR -

DataGridの指定位置(行)にスクロール

1
投稿者投稿内容
KAN
常連さん
会議室デビュー日: 2003/05/09
投稿数: 27
投稿日時: 2003-06-03 19:58
こんにちわ。
いつもお世話になります。

Windows2000・asp.NetのDataGridでデータ表示をやっています。

たとえば、
たくさんデータが表示し切れなくなります、
で、スクロールしてからある行の[Select]ボタンをクリックします。
すると、ページがリロードされ、選択した[行]がまた画面の下に
「沈み」、またスクロールしないといけないんです。

そこで、[Select]ボタンをクリックし、
選択した[行]が沈まず、画面の上の方に
(JavaScriptのwindow.scrollToみたいな)表示する方法があるんでしょうか。

(DataGridの改ページはしないという前提です)


よろしくお願いします。
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2003-06-03 20:45

[ASP.NET]のスクロールバーの固定
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2003-06-03 20:47
上記スレッドが参考になると思います。
(途中で送信してしまった。)
KAN
常連さん
会議室デビュー日: 2003/05/09
投稿数: 27
投稿日時: 2003-06-04 10:04
ご返答、ありがとうございました。

> 1.smartNavigationプロパティを使用する
> 2.JavaScriptで画面の表示位置を制御する

実はこの二つの方法をやってみました。
1. DataGridを使う場合、[smartNavigation]機能がバグってるような気がします。
 (当サイトのある投稿も同じようなことを書いています)
2. [JavaScriptの表示位置を制御する]タイミングがつかめず、失敗してました。

で、2.のやり方としては、
Private Sub DataGrid_ItemCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid.ItemCommand

'--- [選択]ボタンが押された
If e.CommandName = "Select" Then
'--- JavaScript文を文字列に編集する
temp = "<SCRIPT LANGUAGE=" & """" & "JavaScript" & """" & "> "
temp += "window.scrollTo(50,50)"
temp += " </SCRIPT>"
'--- JavaScript文実行
Response.Write(temp)
End If

End Sub

と、テスト用に作ってみましたが、
自動スクロールがうまく機能しませんでした。
実際のPGは、DataGridに[<a name=>]を埋め込んで、
やっていくつもりなんですが・・・

上記のあたりに何か、不正な記述があれば、ぜひご指摘ください。
ぜひアドバイスをよろしくお願いします。
1

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