2

我的 Dashcode 项目中有一个列表控制器,它从动态源中提取数据。

在我的列表控制器加载了它的数据后,我想将它的选定索引设置为 0 - 这样就可以显示列表中第一项的信息。我无法为我的生活弄清楚如何做到这一点。我试过了:

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

3 回答 3

2

无需为此编写任何代码。在检查器中编辑列表的属性并取消选中属性选项卡中的允许空选择。不允许空选择,列表中的第一项将在列表加载时被选中。

于 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 回答