【发布时间】:2009-05-13 23:12:12
【问题描述】:
我有一个响应 itemClick 事件的功能数据网格。一切正常,除了它还会在单击标题时触发 itemClick 事件。因此,它们不会对网格数据进行排序,而是触发改变状态的事件。我只想让点击事件响应被点击的行,而不是标题。
我到处搜索并翻阅我的书,我看到的每个示例似乎都有效,所以我想知道我在这里做错了什么:
<mx:Script>
<![CDATA[
[Bindable]
public var acPrograms:ArrayCollection;
private function showGameDetail(event:ListEvent):void {
var programEvent:ProgramsEvent = new ProgramsEvent(ProgramsEvent.SHOW_DETAIL);
programEvent.selectedProgram = TvPrograms( event.currentTarget.selectedItem );
dispatchEvent(programEvent);
currentState = "details";
}
]]>
</mx:Script>
<mx:DataGrid id="gamesGrid" height="270" dataProvider="{acPrograms}"
itemClick="showGameDetail(event);">
<mx:columns>
<mx:DataGridColumn headerText="Date" dataField="dateOutput" width="90" />
<mx:DataGridColumn headerText="Time" dataField="startTime" width="70" />
<mx:DataGridColumn headerText="Title" dataField="subTitle" width="360" />
<mx:DataGridColumn headerText="Channel" dataField="channel" width="80" />
<mx:DataGridColumn headerText="Provider" dataField="provider" width="100" />
</mx:columns>
</mx:DataGrid>
编辑:
这里真正的问题是我的缓存设置。我正在使用具有单击事件而不是 itemClick 的缓存版本。所以 click 事件会响应网格上的所有点击,并且 itemClick 会根据需要执行,我需要做的就是关闭我的缓存。我是笨蛋,但感谢您的帮助。
【问题讨论】:
标签: apache-flex datagrid flex3