Legen Sie die scroll-position der listbox

Ich habe ein multiple select-listbox. Dieses Listenfeld enthält die Namen vieler Personen. Um die 1000+. So wie Sie sehen können, es wäre sehr ärgerlich, um einen Bildlauf durch. Was ich will zu tun ist, um Anzeige A-Z auf der Seite vertikal. Wenn der Benutzer klickt auf einen Brief, javascript ausgelöst wird, um die scroll-position (NICHT wählen Sie die Artikel, die erste vorkommende Zeichen ausgewählt. Dies ist ein Steuerelement, das erstellt wird, in c# und javascript gerendert wird, werden mithilfe der client-Skript-manager. Im Grunde, was ich bisher getan habe ist, fügen Sie eine neue htmlanchor aus einem char-array von A-Z. Diese Listen, das alphabet vertikal auf. Das wäre sehr ähnlich zu einem iTouch/iPhone Musik-Bibliothek, Tippen/klicken Sie auf den Brief und die schriftrolle wird auf das erste vorkommen. Ich weiß wie eine Schleife durch die Liste. Bisher habe ich ein onclick-Funktion, die Handlungen als solche:

private HtmlGenericControl alphaSortContainer;
this.alphaSortContainer = new HtmlGenericControl("div");
char[] alphabet = { 'Z'.......'A' };
for (int i = 0; i < 26; i++)
{
    var letter = new HtmlAnchor();
    link.InnerText = alphabet[i].ToString();
    link.Attributes.Add("onclick", "javascript:jumpToIndex('" + link.InnerText + "');");
    alphaSortContainer.Controls.Add(letter);
}

Der obige code fügt (oder sollte) Briefe gestapelt auf der jeweils anderen. Ihre onclick ausgelöst wird, wird die javascript-Funktion und senden Sie in den Brief.

Mein javascript so weit:

function jumpToIndex(var index) {
    var list = document.getElementByID('" + this.list.ClientID + "');
    for(var i=0; i < list.length; i++) {
        if(list.options[i].value.charAt(0) == index) {
          HOW TO SET THE SCROLL POSITION TO MAKE THAT OBJECT THE TOP OF THE LIST BOX
          break; //pretty sure this is how i would break out of both loops.
        }
    }
}

Brauche ich nur einen Bildlauf zu dem Element an, das entspricht der if-Anweisung. Ich bin mir auch ziemlich sicher, dass wäre, wie ich ausbrechen der beiden Schleifen. Bitte um Hilfe!!

InformationsquelleAutor Tom | 2011-01-20

Schreibe einen Kommentar