Question

J'ai un contrôleur de liste dans mon projet Dashcode, il tire ses données à partir d'une source dynamique.

Après mon contrôleur de liste a chargé ses données que je voudrais régler est l'indice sélectionné à 0 - afin que les informations pour le premier élément de la liste est affichée. Je ne peux pas pour la vie de me comprendre comment faire cela. J'ai essayé:

function load()
{
    dashcode.setupParts();
    var list = document.getElementById("itemsList");
    //list.setSelectionIndexes(0); // nope
    //list.selectedIndex = 0; // nope
}
Était-ce utile?

La solution

Pas besoin d'écrire un code pour cela. Modifier les propriétés de la liste de l'inspecteur et décocher permettent une sélection vide dans l'onglet Attributs. Sans sélection null a permis au premier élément de la liste sera sélectionnée lorsque les charges de la liste.

Autres conseils

Voici un exemple pour sélectionner un élément spécifique en fonction de son nom. Pour cette question, vous pouvez simplement définir explicitement l'index 0 - Je pense que la réponse de Vicente est plus approprié pour la question posée, mais cela peut être utile pour sélectionner un élément basé sur une chaîne de requête, etc

.
function load()
{
    dashcode.setupParts();

    setSelectedItem();
}

function setSelectedItem()
{
    var itemSource = dashcode.getDataSource("itemsSource");
    var inProgress = itemSource.valueForKey("queryInProgress");

    if(inProgress)
    {
        setTimeout("setSelectedItem()", 200);
    }
    else
    {
        var items = itemSource.valueForKeyPath("content.items")
        for(i=0;i<items.length;i++)
        {
            if(items[i].name.toLowerCase() == "specificItemName")
            {
                document.getElementById("list").object.setSelectionIndexes([i]);
            }
        }
    }
}
function load()
{
    dashcode.setupParts();
    var list = document.getElementById("itemsList");
    list.setSelectionIndexes([0]);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top