我正在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