在我的应用程序中,我有一个绑定到RemoteObject的数据网格。的
datagrid具有包含详细信息的对应形式。什么时候
用户点击数据网格中的一行,表格中填充了
DataGrid的selectedItem中的值。
我想以编程方式在我的DataGrid中选择某行
应用程序加载。
为此,我必须调用validateNow()和scrollToIndex()
例如。
dg.selectedIndex = i;
dg.validateNow();
dg.scrollToIndex(i);
我将此代码放在Applications creationComplete处理程序中。
这一切都很好-选中并选中了所需的行,然后
selectedIndex是i。问题是我无法访问数据
填充详细信息表单。当我尝试检索
dg.SelectedItem属性-它为null。
如何在加载时以编程方式选择网格中的某一行
AND访问行数据?
谢谢
最佳答案
用
dg.invalidateList();
dg.callLater(setRows, [1]);
function selRows(indices:Array):void {
dg.selectedIndices = indices;
dg.validateNow();
dg.scrollToRow(indices[0]);
}
基本上,如果您要更改DG数据并在同一流程中选择一个项目,则选择将被ListBase方法覆盖,您必须在当前GUI更新之后设置选择,而您需要为此使用callLater方法。
关于apache-flex - Flex:以编程方式选择某行-selectedItem为null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1951555/