2010-05-08 52 views
2

我在我的Dashcode項目中有一個列表控制器,它從動態源中提取其數據。在Dashcode列表控制器中設置選擇

在我的列表控制器已經加載了它的數據之後,我想將它的選定索引設置爲0 - 以便顯示列表中第一項的信息。我不能爲我的生活弄清楚如何做到這一點。我已經試過:

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

回答

2

無需編寫任何代碼。編輯檢查器中列表的屬性,並取消選中屬性選項卡中的允許空選擇。如果不允許空選,列表中的第一項將在列表加載時被選中。

-2
function load() 
{ 
    dashcode.setupParts(); 
    var list = document.getElementById("itemsList"); 
    list.setSelectionIndexes([0]); 
} 
+0

不工作對我也是。 – beefon 2010-10-11 11:28:10

+0

請不要只爲您的答案提供代碼。 – 2012-12-17 22:25:04

0

下面是根據名稱選擇特定項目的示例。對於這個問題,你可以簡單地明確設置0指數 - 我認爲維森特的回答是更適合問這個問題,但是這可能是選擇基於查詢字符串的項目有用,等

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]); 
      } 
     } 
    } 
}