Flex DataGrid 编辑获取数据
2011-10-11 10:04
246 查看
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx: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 + ")";
}
}
}
]]>
</fx:Script>
<fx:Style>
.testTip
{
border-color: #ffffdd;
color: #ff0000;
font-weight: bold;
}
</fx: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>
<fx:Component>
<mx:TextInput/>
</fx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</s:Application>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx: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 + ")";
}
}
}
]]>
</fx:Script>
<fx:Style>
.testTip
{
border-color: #ffffdd;
color: #ff0000;
font-weight: bold;
}
</fx: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>
<fx:Component>
<mx:TextInput/>
</fx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</s:Application>
相关文章推荐
- Flex DataGrid 编辑获取数据
- Flex DataGrid 编辑获取数据
- Easyui---datagrid编辑单元格及获取编辑前后数据
- Flex 3 Datagrid数据编辑与保存。。。
- Flex 获取DataGrid总数据行的方法
- flex 获取datagrid的数据
- EasyUi DataGrid中数据编辑方式及编辑后数据获取,校验处理
- EasyUi DataGrid中数据编辑方式及编辑后数据获取,校验处理
- flex DataGrid编辑单元格并获取新的值
- 使用模板列获取批量获取DataGrid中的数据
- jQuery EasyUI 数据网格 - 启用行内编辑(转自http://www.runoob.com/jeasyui/jeasyui-datagrid-datagrid12.html)
- flex datagrid 嵌checkbox实现全选与数据存储(非绑定数据源)
- 从textarea中获取数据,按编辑样式显示内容
- EasyUI datagrid获取数据问题
- flex中获取datagrid选中行的列值
- easy ui datagrid 从编辑框中获取值
- Flex DataGrid 数据的上下移动、增加、删除操作
- Flex获取MySQL数据库数据
- EasyUI DataGrid 双击编辑单元格,保存并且后台数据改变
- 在Winform中,获取DataGrid当前选定行对应的数据