我正在Flex3中工作。在这里我有一个包含数据的数据网格。一些列是可编辑的。当用户更改列数据时调用Web服务。在这里使用focusOut函数,我通过focusOut函数发送来自datagrid的数据来调用Web服务。现在我想在用户更改列数据并按下键盘按键'Enter'时调用Web服务。在这里我可以调用函数,但事件不会将datagrid的数据传递给被调用的函数。有人给我解决这个问题。谢谢。Flex3中的数据网格上的关键事件
回答
使用输入事件来发送数据 我的要求我用于更新过程如下(我想你也期待着人们SAME)
结帐CODE..hope这将有用....
<mx:DataGrid id="datagrid2" dataProvider="{cat}" editable="true" keyDown="gridkey(event)" x="10" y="152" visible="true" width="703">
<mx:columns>
<!--<mx:DataGridColumn dataField="catCode" headerText="CATEGORY CODE" editable="false"/>-->
<mx:DataGridColumn dataField="catDesc" headerText="CATEGORY DESCRIPTION" editable="true">
<mx:itemEditor >
<mx:Component>
<mx:TextInput errorColor="#0294b3" errorString="Click Enter and Save" restrict="A-Za-z0-9" maxChars="15"/>
</mx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
<mx:DataGridColumn dataField="updatedate" headerText="LAST UPDATE DATE" editable="false"/>
在动作脚本...使用以下
public function gridkey(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.ENTER)
{
var obj:Object = event.currentTarget.selectedItem;
for(var n:String in cat)
{
var items:CategoryVO = cat[n] as CategoryVO;
if(obj.catCode == items.catCode && obj.orgId == items.orgId)
{
items.catCode=obj.catCode;
items.catDesc=obj.catDesc;
items.updateby=obj.updateby;
items.alter = "Altered"; //use private var _alter:String; in flex VO class where remote class getters and settrs are used...//
//Alert.show(items.id.toString());
DeletedItems.push(items.catCode);
// Alert.show(DeletedItems.toString());
}
}
}
您可以使用itemEditor
上的enter
事件将数据发送到您的Web服务。
这里有一个粗略的例子:
<mx:itemEditor>
<mx:Component>
<mx:VBox>
<mx:TextInput id="setCity" width="130" text="{data.City}" enter="outerDocument.callMyWebService(data)"/>
</mx:VBox>
</mx:Component>
</mx:itemEditor>
谢谢@ Imran和@Jason Towne。是的,我在其父组件是面板的Datagrid中使用了itemEditor。当用户点击文本输入框,然后我调用focusIn函数并将数据存储到一个临时变量中,当用户输入数据并在外部单击时,我将调用focusOut函数。 – 2011-04-15 10:09:17
在这个函数中检查数据是否改变,如果输入的数据与前面的数据不一样,那么我正在调用相关的web服务。现在,我添加了itemEditEnd函数来接受用户的键盘事件。它的工作正常,但是当用户更改数据并在面板外单击时,不会发生任何操作。 – 2011-04-15 10:11:27
在这里,如果用户输入无效数据,我想保留以前的数据。 – 2011-04-15 10:29:39
- 1. 如何在按键事件上添加数据网格行?
- 2. 将数据网格列的数据绑定到Flex3中的formitem文本
- 3. 的数据网格columnIndex侧翻事件
- 4. TabActivities中的关键事件?
- 5. Javascript中的关键事件
- 6. 将数据绑定到事件中的数据网格
- 7. 关闭网格的wxpython事件
- 8. 关联python中的网格数据集
- 9. 关键事件
- 10. Flex:根据组件顺序双击数据网格上的事件传播?
- 11. 数据网格视图单元格事件(数据隐藏)
- 12. 我无法访问自定义事件中的数据网格
- 13. 事件处理数据网格中显示的图像
- 14. 在WPF中可以强制更新keyup事件上的数据网格吗?
- 15. 热键?关键事件?
- 16. 关键字事件
- 17. Java关键事件
- 18. 更新Javascript中的关键事件
- 19. C#关于数据网格的问题
- 20. flex3中的列表控件
- 21. Java - 关键事件和关键绑定
- 22. 在WPF中选择数据网格行时,在数据网格中显示相关表中的数据
- 23. 绑定源事件或网格事件中的UI相关代码?
- 24. 在Mac上检测空格键事件?
- 25. 如何在数据网格中定义和调用子数据网格的事件
- 26. 如何在WPF数据网格中显示相关表格中的数据
- 27. keydown事件上的键码
- 28. KeyDown事件上的PrintScreen键
- 29. 群集中的ColdFusion事件网关
- 30. PHP中的数据网格
谢谢@ConquistadorAravinth,现在它的工作正常。我非常感谢你的帮助。 – 2011-04-20 05:14:40
Yup!:-) @Naveen Kumar Pavuturi – ConquistadorAravinth 2011-04-20 07:20:01