2

Dashcodeプロジェクトにリストコントローラーがあり、動的ソースからデータを取得します。

リストコントローラーがデータをロードした後、選択したインデックスを0に設定して、リストの最初の項目の情報が表示されるようにします。私は私の人生のためにこれを行う方法を理解することはできません。私はもう試した:

function load()
{
    dashcode.setupParts();
    var list = document.getElementById("itemsList");
    //list.setSelectionIndexes(0); // nope
    //list.selectedIndex = 0; // nope
}
4

3 に答える 3

2

そのためのコードを書く必要はありません。インスペクターでリストのプロパティを編集し、[属性]タブで[空の選択を許可する]チェックボックスをオフにします。nullの選択が許可されていない場合、リストのロード時にリストの最初の項目が選択されます。

于 2010-10-11T16:39:50.960 に答える
0

名前に基づいて特定のアイテムを選択する例を次に示します。この質問では、単純に0インデックスを明示的に設定できます。Vicenteの回答は、尋ねられた質問に適していると思いますが、これは、クエリ文字列などに基づいてアイテムを選択する場合に役立ちます。

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]);
            }
        }
    }
}
于 2010-11-17T15:42:52.333 に答える
-2
function load()
{
    dashcode.setupParts();
    var list = document.getElementById("itemsList");
    list.setSelectionIndexes([0]);
}
于 2010-07-10T20:29:07.023 に答える