【问题标题】:Ensure Spark DataGrid item is visible确保 Spark DataGrid 项目可见
【发布时间】:2012-08-14 21:46:57
【问题描述】:

有没有办法确保所选项目在 Spark DataGrid 中可见?

上下文
我有一个绑定到数组集合的数据网格。我远程接收到一项服务,该服务为我提供了集合中对象的 ID(字符串)。仅使用我遍历集合的字符串来查找与字符串匹配的项目。我通过它的 ID 找到对象。现在我有了要在数据网格中选择的对象。我可以设置

dataGrid.selectedItem = object; 

现在我需要确保它可见。我没有行或列索引。

更新
使用下面的答案,我用这个功能称赞了它:

    /**
     * Ensures the item is visible (for spark data grid)
     **/
    public function ensureItemIsVisibleInSparkDataGrid(datagrid:spark.components.DataGrid, item:Object):void {
        var list:IList = datagrid.dataProvider;
        var length:int = list.length;
        var itemFound:Boolean;
        var object:Object;
        var index:int;

        for (var i:int;i<length;i++) {
            object = list.getItemAt(i);

            if (object==item) {
                itemFound = true;
                index = i;
                break;
            }
        }

        if (itemFound) {
            datagrid.ensureCellIsVisible(index);
        }
    }

【问题讨论】:

    标签: apache-flex flex4 flex-spark


    【解决方案1】:

    是的,它叫做ensureCellIsVisible()。您需要知道相关项目的行和列。要使其正常工作,您需要监听 selectionChange 事件,然后计算当前所选项目的行和列。

    【讨论】:

    • 我看到了那个方法,但就像你说的那样,你必须确定我不知道该怎么做的行和列。我只有项目(以前选择的)。我没有选择的索引。
    • 你没有selectedCell
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2018-12-26
    • 2011-08-20
    相关资源
    最近更新 更多