您的位置:首页 > 其它

FB4 AS3 如何获取advancedDataGrid中鼠标点击checkbox列的行号

2011-06-24 17:54 337 查看
1.先给大家看一下我的advancedDataGrid代码,跟我的不一样也没关系,我的用处比较多,selected列是checkbox。

<mx:AdvancedDataGrid x="192" y="36" id="adg1" designViewDataType="flat"  rowHeight="55" dataProvider="{notes}" width="100%" height="100%" fontSize="16" selectionMode="multipleCells" editable="false" itemClick="showPopup(event)" >
<mx:columns>
<mx:AdvancedDataGridColumn headerText="Index" dataField="index"/>
<mx:AdvancedDataGridColumn headerText="Selected" dataField="selected" editable="true" itemRenderer="mx.controls.CheckBox" />
<mx:AdvancedDataGridColumn headerText="text" dataField="content" wordWrap="true"/>
<mx:AdvancedDataGridColumn headerText="User" dataField="user"/>
<mx:AdvancedDataGridColumn headerText="Source" dataField="source"/>
<mx:AdvancedDataGridColumn headerText="Icon" dataField="icon"  width="100" />
</mx:columns>
<mx:rendererProviders>
<mx:AdvancedDataGridRendererProvider
dataField="{icon}"
renderer="DCellRenderer"
columnIndex="5"
columnSpan="1"/>
</mx:rendererProviders>
</mx:AdvancedDataGrid>

2.为上面的advancedDataGrid adg1添加侦听函数。

adg1.addEventListener(Event.CHANGE,showItem);

3. 侦听的函数见下面。

protected function showItem(e:Event):void {
//如果点击列为checkbox列进入设置
if(e.target.selectedCells[0].columnIndex==1)
{
if(notes[e.target.selectedCells[0].rowIndex].selected)
{
notes[e.target.selectedCells[0].rowIndex].selected=false;
}
else
{
notes[e.target.selectedCells[0].rowIndex].selected=true;
}
}
}

e.target.selectedCells[0].rowIndex就是鼠标点击单元格的行号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: