Pergunta

Eu tenho um painel interno de atualização que tenho datalist.

Este painel de atualização dispara a cada 1 segundo para recuperar os dados do banco de dados.

Eu mantive este painel de atualização dentro de um deslocamento vertical habilitado div tag.

Mas quando eu chegar novos dados, a barra de rolagem não é ajustando automaticamente !!!

Eu opção maintainscrollback mas não o seu trabalho.

tentou

Existe alguma opção para manter a barra de rolagem para a sua posição original após os gatilhos UpdatePanel?

Foi útil?

Solução

Aqui está o que eu prefiro evitar JavaScript, que precisa ajustar a posição de rolagem cada atualização / update ...

Eu acho que você deve ter projetado página como abaixo

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional/Always">
    <ContentTemplate>
        <div style="height: 400px/300px; overflow-y:scroll;"> 
            <asp:DataList ID="DataList1" runat="server">
                ....
            </asp:DataList>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>

Alterar-lo para alguma coisa como esta deve cuidar do problema de rolagem

<div style="height: 400px/300px; overflow-y:scroll;"> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional/Always">
        <ContentTemplate>
                <asp:DataList ID="DataList1" runat="server">
                    ....
                </asp:DataList>
        </ContentTemplate>
    </asp:UpdatePanel>
</div>

Outras dicas

Por favor, tente o seguinte:

<script>
  var prm = Sys.WebForms.PageRequestManager.getInstance();
  prm.add_beginRequest(function(){
     window.dTop = document.getElementById('divIdHere').scrollTop;
  });

  prm.add_endRequest(function(){
       setTimeout(function(){
         document.getElementById('divIdHere').scrollTop = window.dTop;
      },100);
  });
</script>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top