Flex DataGrid 编辑获取数据
2013-12-16 17:03
281 查看
<?xml version="1.0"?>
<!-- itemRenderers\events\BeginEditEventAccessEditor.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.events.DataGridEvent;
import mx.controls.NumericStepper;
import mx.collections.ArrayCollection;
import mx.controls.listClasses.IDropInListItemRenderer;
import mx.controls.TextInput;
[Bindable]
private var myDP:ArrayCollection =
new ArrayCollection([
{Artist:'Pavement', Album:'Slanted and Enchanted', Price:'(11.99)'},
{Artist:'Pavement', Album:'Crooked Rain, Crooked Rain', Price:'(10.99)'},
{Artist:'Pavement', Album:'Wowee Zowee', Price:'(12.99)'},
{Artist:'Pavement', Album:'Brighten the Corners', Price:'(11.99)'},
{Artist:'Pavement', Album:'Terror Twilight', Price:'(11.99)'}
]);
// Handle the itemEditBegin event.
private function onEditedBegin(event:DataGridEvent):void
{
// Get the name of the column being editted.
var colName:String = myDataGrid.columns[event.columnIndex].dataField;
var temp:String;
if(colName=="Price")
{
// Handle the event here.
event.preventDefault();
// Creates an item editor.
myDataGrid.createItemEditor(event.columnIndex,event.rowIndex);
// All item editors must implement the IDropInListItemRenderer interface
// and the listData property.
// Initialize the listData property of the editor.
IDropInListItemRenderer(myDataGrid.itemEditorInstance).listData =
IDropInListItemRenderer(myDataGrid.editedItemRenderer).listData;
// Copy the cell value to the NumericStepper control.
myDataGrid.itemEditorInstance.data = myDataGrid.editedItemRenderer.data;
// Add 20 percent to the current price.
temp = TextInput(myDataGrid.itemEditorInstance).text;
if (temp.indexOf("(") != -1){
temp = temp.replace("(","");
}
if (temp.indexOf(")") != -1){
temp = temp.replace(")","");
}
TextInput(myDataGrid.itemEditorInstance).text = temp;
}
}
private function onEditedEnd(event:DataGridEvent):void{
var colName:String = myDataGrid.columns[event.columnIndex].dataField;
var curText:String = TextInput(myDataGrid.itemEditorInstance).text;
if(colName=="Price")
{
// Handle the event here.
//event.preventDefault();
// Creates an item editor.
//myDataGrid.createItemEditor(event.columnIndex,event.rowIndex);
// All item editors must implement the IDropInListItemRenderer interface
// and the listData property.
// Initialize the listData property of the editor.
//IDropInListItemRenderer(myDataGrid.itemEditorInstance).listData =
//IDropInListItemRenderer(myDataGrid.editedItemRenderer).listData;
// Copy the cell value to the NumericStepper control.
//myDataGrid.itemEditorInstance.data = myDataGrid.editedItemRenderer.data;
// Add 20 percent to the current price.
if (curText != ""){
TextInput(myDataGrid.itemEditorInstance).text = "(" + curText +
")";
}
}
}
]]>
</mx:Script>
<mx:Style>
.testTip
{
border-color: #ffffdd;
color: #ff0000;
font-weight: bold;
}
</mx:Style>
<mx:DataGrid id="myDataGrid" dataProvider="{myDP}"
editable="true"
itemEditBegin="onEditedBegin(event);" itemEditEnd="onEditedEnd(event);"
rowHeight="60">
<mx:columns>
<mx:DataGridColumn dataField="Artist" />
<mx:DataGridColumn dataField="Album" width="130" />
<mx:DataGridColumn dataField="Price" editorDataField="text">
<mx:itemEditor>
<mx:Component>
<mx:TextInput/>
</mx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</mx:Application>
<!-- itemRenderers\events\BeginEditEventAccessEditor.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.events.DataGridEvent;
import mx.controls.NumericStepper;
import mx.collections.ArrayCollection;
import mx.controls.listClasses.IDropInListItemRenderer;
import mx.controls.TextInput;
[Bindable]
private var myDP:ArrayCollection =
new ArrayCollection([
{Artist:'Pavement', Album:'Slanted and Enchanted', Price:'(11.99)'},
{Artist:'Pavement', Album:'Crooked Rain, Crooked Rain', Price:'(10.99)'},
{Artist:'Pavement', Album:'Wowee Zowee', Price:'(12.99)'},
{Artist:'Pavement', Album:'Brighten the Corners', Price:'(11.99)'},
{Artist:'Pavement', Album:'Terror Twilight', Price:'(11.99)'}
]);
// Handle the itemEditBegin event.
private function onEditedBegin(event:DataGridEvent):void
{
// Get the name of the column being editted.
var colName:String = myDataGrid.columns[event.columnIndex].dataField;
var temp:String;
if(colName=="Price")
{
// Handle the event here.
event.preventDefault();
// Creates an item editor.
myDataGrid.createItemEditor(event.columnIndex,event.rowIndex);
// All item editors must implement the IDropInListItemRenderer interface
// and the listData property.
// Initialize the listData property of the editor.
IDropInListItemRenderer(myDataGrid.itemEditorInstance).listData =
IDropInListItemRenderer(myDataGrid.editedItemRenderer).listData;
// Copy the cell value to the NumericStepper control.
myDataGrid.itemEditorInstance.data = myDataGrid.editedItemRenderer.data;
// Add 20 percent to the current price.
temp = TextInput(myDataGrid.itemEditorInstance).text;
if (temp.indexOf("(") != -1){
temp = temp.replace("(","");
}
if (temp.indexOf(")") != -1){
temp = temp.replace(")","");
}
TextInput(myDataGrid.itemEditorInstance).text = temp;
}
}
private function onEditedEnd(event:DataGridEvent):void{
var colName:String = myDataGrid.columns[event.columnIndex].dataField;
var curText:String = TextInput(myDataGrid.itemEditorInstance).text;
if(colName=="Price")
{
// Handle the event here.
//event.preventDefault();
// Creates an item editor.
//myDataGrid.createItemEditor(event.columnIndex,event.rowIndex);
// All item editors must implement the IDropInListItemRenderer interface
// and the listData property.
// Initialize the listData property of the editor.
//IDropInListItemRenderer(myDataGrid.itemEditorInstance).listData =
//IDropInListItemRenderer(myDataGrid.editedItemRenderer).listData;
// Copy the cell value to the NumericStepper control.
//myDataGrid.itemEditorInstance.data = myDataGrid.editedItemRenderer.data;
// Add 20 percent to the current price.
if (curText != ""){
TextInput(myDataGrid.itemEditorInstance).text = "(" + curText +
")";
}
}
}
]]>
</mx:Script>
<mx:Style>
.testTip
{
border-color: #ffffdd;
color: #ff0000;
font-weight: bold;
}
</mx:Style>
<mx:DataGrid id="myDataGrid" dataProvider="{myDP}"
editable="true"
itemEditBegin="onEditedBegin(event);" itemEditEnd="onEditedEnd(event);"
rowHeight="60">
<mx:columns>
<mx:DataGridColumn dataField="Artist" />
<mx:DataGridColumn dataField="Album" width="130" />
<mx:DataGridColumn dataField="Price" editorDataField="text">
<mx:itemEditor>
<mx:Component>
<mx:TextInput/>
</mx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</mx:Application>
相关文章推荐
- Flex DataGrid 编辑获取数据
- Flex DataGrid 编辑获取数据
- EasyUi DataGrid中数据编辑方式及编辑后数据获取,校验处理
- flex DataGrid编辑单元格并获取新的值
- Easyui---datagrid编辑单元格及获取编辑前后数据
- Flex 3 Datagrid数据编辑与保存。。。
- Flex 获取DataGrid总数据行的方法
- flex 获取datagrid的数据
- EasyUi DataGrid中数据编辑方式及编辑后数据获取,校验处理
- Flex4之DataGrid增删改同步数据库及页面数据示例总结
- flex中获取并显示数据
- EasyUI DataGrid表格双击获取该行数据—笔记
- 获取datagrid中编辑列combobox的value值与text值
- EasyUI中datagrid获取json数据遇到的问题
- flex里面几种获取后台数据的方式
- 关于easyuidatagrid获取datagrid的选择数据
- Flex弹出式窗口为datagrid添加数据
- 吴旗娃分页控件,DataGrid,DropDownList编辑删除DataGrid数据
- 获取wpf datagrid当前被编辑单元格的内容
- Flex中datagrid数据过滤