Foros del Web » Programando para Internet » ASPX (.net) »

Posicionar scroll de un textbox al final al agregar texto

Estas en el tema de Posicionar scroll de un textbox al final al agregar texto en el foro de ASPX (.net) en Foros del Web. Tengo un textbox multiline vertical dentro de un UpdatePanel, tambien un timer que actualiza el panel cada 5 seg, y hace que el scrollbar del ...
  #1 (permalink)  
Antiguo 17/01/2011, 11:05
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 10 meses
Puntos: 0
Posicionar scroll de un textbox al final al agregar texto

Tengo un textbox multiline vertical dentro de un UpdatePanel, tambien un timer que actualiza el panel cada 5 seg, y hace que el scrollbar del textbox se coloque al inicio en cada actualización. Necesito controlar este evento para que quede el scroll al final, algo similar al chat del Messenger en que el scroll queda ubicado al final del texto en cada mensaje que se envía, para que se pueda leer.
Bien ésto resulta más facil de manejar en aplicaciones Windows, ya que podemos utilizar propiedades como:
Text1.SelStart = 0 ' Especifica la posición de comienzo del texto seleccionado.
Text1.SelLength = Len(Text1.Text) ' Se sitúa al final
Text1.SelText ' Añade texto seleccionado

No encuentro la forma de hacer esto cuando trabajamos con ASP.NET bajo System.Web.UI.Webcontrols .

Gracias .
  #2 (permalink)  
Antiguo 24/01/2011, 12:45
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Posicionar scroll de un textbox al final al agregar texto

bajar barra de scrool, esto es una posible forma de hacerlo. La he probado y sí funciona. Ahí dejo el cógido por si a alguien le sirve de algo:

En el HEAD de la pagina aspx:

<script type="text/javascript">
function scrollDown()
{
document.getElementById('<%=txtMensajes.ClientID%> ').scrollTop = document.getElementById('<%=txtMensajes.ClientID%> ').scrollHeight;
};
</script>


En el CodeBehind teniendo en cuenta que tenemos un updatePanel, porque lo hacemos con AJAX:

ScriptManager.RegisterStartupScript(Me, GetType(String), "ScrollTextbox", _
"document.getElementById('" + txtMensajes.ClientID + "').scrollTop = document.getElementById('" + txtMensajes.ClientID + "').scrollHeight; " + " ", True)

Etiquetas: final, posicionar, scroll, textbox, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:19.