------解决方案--------------------
写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();
}
}
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » datagrid不可编辑行有关问题的控制方法
发表评论 取消回复