2012-03-28 18 views
1

スクロール位置の維持に問題があります。スクロール位置を保持していない多くのページが返されたgridview

私はすべてが正しく設定されていることがほぼ肯定的です。 ....私は私のウェブ設定を更新しています...

<pages maintainScrollPositionOnPostBack="true" 

、すべてがUNTIL正常に動作するようです

とき、私のGridViewのは時々上向きに100の、50以上のように、ページの多くを返し、これまでページあたり50レコードを表示します。 Gridviewに近づくほど、スクロール位置はオフになります。

私が言っているのは、最初の20プラスページほど、トップローが画面外に移動して編集モードに入るポイントまでページをスクロールすると、正しいレコードが表示されたままですポストバックで。

しかし、私がGridviewに約30ページを超えると、さらに悪いことに、Editモードに入ると、編集するレコードの場所にスクロールバックする必要があります。

これについてのアイデアはテストされ、私のユーザーはナッツになります!!!

おかげで再び、

+0

グリッドを更新パネルに配置しようとしましたか? – Pankaj

+0

これは、彼が経験しているディスプレイの高さの問題をどのように修正するのでしょうか? – IrishChieftain

+0

追加のメモとして、これはローリングの問題であるようです。 60ページから70ページのページ範囲に入ると、スクロール位置が再び維持され始めます。私はそれが動いていると言うことができますが、ポイントから20ページほど離れてしまうまで、たった数行でしかありません。私の意見では大きなバグ。 – htm11h

答えて

1

あなたがオーバーフローとdivのセットにGridViewコントロールをラップすることができます:自動。次にjsを使って、ページが読み込まれるときにスクロール位置をリセットします。このようなもの。

<body onload="GetDivPosition()"> 
<form id="form1" runat="server"> 

<asp:HiddenField ID="hdnField" runat="server" Value="0" /> 

<div style="overflow:auto;" ID="gridArea" onscroll="SetDivPosition()"> 

<asp:GridView ID="yourGrid" runat="server"> 
     ..... 
</asp:GridView> 

</div> 


<script language="javascript" type="text/javascript"> 

     function GetDivPosition() { 
      var hdn = document.getElementById("hdnField"); 
      document.getElementById("gridArea").scrollTop = hdn.value; 
     } 

     function SetDivPosition() { 
      var hdn = document.getElementById("hdnField"); 
      hdn.value = document.getElementById("gridArea").scrollTop; 
     } 
</script> 

Visual Studioは、おそらくあなたのonscroll有効でない警告を与えるだろうが、それは常に私のために働いています。更新パネルを使用している場合は、もう少し複雑です。実際に私のすべてのパネルがアップデートされていますので、このコードを元に戻すようにしました。うまくいけば、これがうまくいくでしょう。

-1

MaintainScrollPositionOnPostBackプロパティは、これだけは誰もがIEを使用しているイントラネットの状況でない限り、そう、これは良い解決策ではありませんIEで動作します。他のブラウザ用のbrowserCapsハックがありますが、マイクロソフトでさえこれをサポートしていません。

ページングを使用している場合、最も簡単な方法は、1ページあたりのレコード数を減らすことです。他の「クリーン」オプションだけが、独自のjQueryソリューションをロールバックすることになります。

はここMaintainScrollPositionOnPostbackプロパティを使用しないアプローチです:

http://www.kodergurl.com/2010/08/maintain-scroll-position-on-post-back.html

+0

私はFFがある、それは非常にうまく動作します。 – Pankaj

+0

intellisenseによる正しい構文は、小文字の "m"です。また、同じ問題をこのサイトで報告している大文字の「M」 – htm11h

+0

を使用して問題が報告されている他の投稿もあります。 – Pankaj

関連する問題