datagrid不可编辑行有关问题的控制方法
更新时间:2014年01月28日 17:07:59 作者:
我要评论

datagrid不可编辑行一个更简单的办法,editable=“true”,然后直接把itemEditBegin给停掉阻止createItemEditor的调用
------解决方案--------------------
写renderer呗,renderer里可以拿到你点的这个cell是第几行和第几列,根据行列改变DataGrid的editable属性,给你一个思路:
1.renderer里监听点击事件;
2.事件处理函数中从listDatadata取出行列index,进行判断(哪一行可编辑这个变量可以通过创建renderer的时候用properties传到renderer中);
3.if(true),把listData.owner(或parentDocuemnt)的editable属性设为true,然后将光标放到点击的这个cell上(设editedItemPosition属性,怎么用自己去查);
4.监听DataGrid的itemEditEnd事件,事件处理函数中把editable函数在设为false
------解决方案--------------------(已验证)
想到一个更简单的办法,editable=“true”,然后直接把itemEditBegin给停掉阻止createItemEditor的调用,
听DataGrid的itemEditBegin事件
private function onItemEditBegin(event:DataGridEvent):void
{
if(event.rowIndex == 0)//如果是第一行,则不让编辑
{
event.stopImmediatePropagation();
}
}
写renderer呗,renderer里可以拿到你点的这个cell是第几行和第几列,根据行列改变DataGrid的editable属性,给你一个思路:
1.renderer里监听点击事件;
2.事件处理函数中从listDatadata取出行列index,进行判断(哪一行可编辑这个变量可以通过创建renderer的时候用properties传到renderer中);
3.if(true),把listData.owner(或parentDocuemnt)的editable属性设为true,然后将光标放到点击的这个cell上(设editedItemPosition属性,怎么用自己去查);
4.监听DataGrid的itemEditEnd事件,事件处理函数中把editable函数在设为false
------解决方案--------------------(已验证)
想到一个更简单的办法,editable=“true”,然后直接把itemEditBegin给停掉阻止createItemEditor的调用,
听DataGrid的itemEditBegin事件
复制代码 代码如下:
private function onItemEditBegin(event:DataGridEvent):void
{
if(event.rowIndex == 0)//如果是第一行,则不让编辑
{
event.stopImmediatePropagation();
}
}
相关文章
flash 报错捕获(Catch All Exception in Flash)
就是在全局任何地方产生的错误如果没有被捕获,都可以在捕获阶段和冒泡阶段被捕获,接下来为大家介绍一种可以捕捉所有错误的方法,感兴趣的你可不要错过了哈2013-03-03
最新评论