2010-05-08 3 views
2

대시 코드 프로젝트에 목록 컨트롤러가 있는데 동적 소스에서 데이터를 가져옵니다.대시 코드 목록 컨트롤러에서 선택 설정

내 목록 컨트롤러에서 데이터를로드 한 후 선택한 인덱스를 0으로 설정하고 싶습니다. 목록의 첫 번째 항목에 대한 정보가 표시됩니다. 나는이 일을하는 방법을 알아낼 수 없다. 나는 시도했다 :

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

답변

2

필요가 그것을위한 코드를 작성할 수 있습니다. 속성의 목록 속성을 편집하고 속성 탭에서 빈 선택 허용의 선택을 취소하십시오. null 선택이 허용되지 않으면 목록이로드 될 때 목록의 첫 번째 항목이 선택됩니다.

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

이 작동하지 않는 등, 내가 비센테의 대답은 묻는 질문에 대한 더 적합하다고 생각하지만, 이것은 쿼리 문자열을 기반으로 항목을 선택하는 데 유용 할 수 있습니다 나도. – beefon

+0

답변에 대한 코드를 제공하지 마십시오. –

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]); 
      } 
     } 
    } 
} 
관련 문제