public function disableEditing(event:ListEvent):void
{
if(event.columnIndex == 0)
//call a function & assign the value into global var checkedIndex
else
{
var currentIndex: Number = event.rowIndex;
if (currentIndex != checkedIndex)
{
event.preventDefault();
}
}
}
3条答案
按热度按时间q5lcpyga1#
感谢您的帮助。我尝试使用preventDefault,它禁用列,但我无法重新启用它。
具体到我的要求,我有3列,第一列包含复选框,其他两列包含文本框,所有这些都在datagrid列的单独itemrenderer中
如果选中复选框,则特定行中的后续文本框应可编辑,而如果未选中复选框,则文本框应不可编辑
wlwcrazw2#
禁用行可能有不同的含义。但是如果您的目的是禁止用户编辑行,即使datagrid的editable属性设置为true,您也可以使用
event:ListEvent
及其属性event.preventDefault()
来实现这一点。在单击复选框列时,调用一个函数,并通过
ListEvent
将rowIndex存储到全局变量checkedIndex
中。在datagrid的itemClick属性上调用下面的函数。有关ListEvent here的详细信息。
cnh2zyt33#
在itemrender内部,您可以使用
data.fieldname
访问记录数据。所以如果要根据其他列动态地改变,就不需要access id of component which is inside itemrender。
只需绑定数据即可。
工作示例:http://wonderfl.net/c/6MS0