先看一个例子:
<mx:DataGrid id="songList" dataProvider="{songDB}" width="100%" height="100%" editable="true"
itemEditEnd="itemEditEndHandler(event)" itemEditBeginning="itemEditBeginningHandler(event)"
>
<mx:DataGrid id="songList" dataProvider="{songDB}" width="100%" height="100%" editable="true"
itemEditEnd="itemEditEndHandler(event)" itemEditBeginning="itemEditBeginningHandler(event)"
>
其中itemEditBeginningHandler就可以这样控制:
private function itemEditBeginningHandler(event:DataGridEvent):void
{
if(event.columnIndex==0 || event.columnIndex==3){
event.preventDefault();
}
}
private function itemEditBeginningHandler(event:DataGridEvent):void
{
if(event.columnIndex==0 || event.columnIndex==3){
event.preventDefault();
}
}
当点击datagrid的第一和第四项时,itemEdit事件将不起作用。
下面是event.preventDefault()说明
如果可以取消事件的默认行为,则取消该行为。
许多事件都有默认执行的关联行为。例如,如果用户在文本字段中键入一个字符,则默认行为就是在文本字段中显示该字符。由于可以取消 TextEvent.TEXT_INPUT 事件的默认行为,因此您可以使用 preventDefault() 方法来防止显示该字符。
不可取消行为的一个示例是与 Event.REMOVED 事件关联的默认行为,只要 Flash Player 从显示列表中删除显示对象,就会生成该事件。由于无法取消默认行为(删除元素),因此 preventDefault() 方法对此默认行为无效。
您可以使用 Event.cancelable 属性来检查是否可以防止与特定事件关联的默认行为。如果 Event.cancelable 的值为 true,则可以使用 preventDefault() 来取消事件;否则,preventDefault() 无效。
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/xiang08/archive/2009/05/05/4152351.aspx