Ich habe ein Textfeld mit der Eigenschaft "Multiline" auf "true" gesetzt. In regelmäßigen Abständen füge ich neue Textzeilen hinzu. Ich möchte, dass das Textfeld automatisch zum untersten Eintrag (dem neuesten) blättert, wenn eine neue Zeile hinzugefügt wird. Wie kann ich das erreichen?
Antworten
Zu viele Anzeigen?Alle anderen, die hier eine Webforms-Implementierung erwarten, sollten den endRequest-Event-Handler des Page Request Managers ( https://stackoverflow.com/a/1388170/1830512 ). Hier ist, was ich für meine TextBox in einer Inhaltsseite von einer Masterseite aus gemacht habe, bitte ignorieren Sie die Tatsache, dass ich keine Variable für das Steuerelement verwendet habe:
var prm = Sys.WebForms.PageRequestManager.getInstance();
function EndRequestHandler() {
if ($get('<%= ((TextBox)StatusWindow.FindControl("StatusTxtBox")).ClientID %>') != null) {
$get('<%= ((TextBox)StatusWindow.FindControl("StatusTxtBox")).ClientID %>').scrollTop =
$get('<%= ((TextBox)StatusWindow.FindControl("StatusTxtBox")).ClientID %>').scrollHeight;
}
}
prm.add_endRequest(EndRequestHandler);
Das hat nur bei mir funktioniert...
txtSerialLogging->Text = "";
txtSerialLogging->Text(e) anhängen;
Ich habe alle oben genannten Fälle ausprobiert, aber das Problem ist, dass der Text in meinem Fall abnehmen, zunehmen und auch für eine lange Zeit statisch bleiben kann. statisch bedeutet, statische Länge (Zeilen), aber der Inhalt ist anders.
Also, ich war mit einer Zeile springen Situation am Ende, wenn die Länge (Zeilen) bleibt gleich für einige Zeit ...
- See previous answers
- Weitere Antworten anzeigen