Pregunta

Tengo un controlador de la lista en mi proyecto de Dashcode, extrae sus datos de una fuente dinámica.

Después de mi controlador de la lista ha cargado sus datos me gustaría establecer que está seleccionado índice a 0 - por lo que se demuestra que la información para el primer elemento de la lista. No puedo por la vida de a averiguar cómo hacer esto. He intentado:

function load()
{
    dashcode.setupParts();
    var list = document.getElementById("itemsList");
    //list.setSelectionIndexes(0); // nope
    //list.selectedIndex = 0; // nope
}
¿Fue útil?

Solución

No hay necesidad de escribir ningún código para eso. Editar las propiedades de la lista en el inspector y desactive permitir la selección vacía en la ficha Atributos. Sin selección nula permitió que el primer elemento de la lista se selecciona cuando se carga la lista.

Otros consejos

Este es un ejemplo para la selección de un elemento específico basado en su nombre. Para esta pregunta, usted podría simplemente establece explícitamente el índice 0 - Creo que la respuesta de Vicente es más apropiado para la pregunta formulada, pero esto puede ser útil para seleccionar un elemento basado en una cadena de consulta, 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]);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top