繁体   English   中英

flex air datagrid itemRenderer

[英]flex air datagrid itemRenderer

我有一个带有自定义itemRenderer的数据网格。 当我单击一个单元格时,会得到它的参考。 现在,我想获取sae行中另一列的引用。 例如,在我在第三行的第四列中单击的数据网格中,我对此毫无疑问地得到了引用。 现在,我想获取同一行的第一列(即第三列)的引用。

有办法吗?

谢谢。

您的自定义项目渲染器应该是数据驱动的。 换句话说,您关心的所有内容都应位于渲染器的“数据”属性上。 如果需要操纵另一个单元格,则应该操纵该行的数据,并且该单元格应该更新自己。

这就是您为此感到困难的原因-没有一种好的方法可以获取对另一个单元格的引用。 有不好的方法,但很糟糕:)

不知道我是否完全理解这是正确的,但是这里...

在您的数据网格上放置一个点击事件

<mx:DataGrid id="myDatagrid" click="getValues()" dataProvider="{someArrayColl}"/>

假设第一行在脚本行之间的名称为“ id_column”:

private function getValues():void{
var first_column_value:String = myDatagrid.selectedItem.id_column;

//if you want the entire row in 1 Array
var the_selected_row:Array = myDatagrid.selectedItem as Array;
}

尚未测试array语句,但它应该可以工作。 myDatagrid.selectedItem默认为arraycollection的对象。

//当用户单击标题项目或datagrid-scrollbar时,应该在getValues函数中放入try and catch语句以捕获异常

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM