折腾一下午做这个功能,一直报错,包含在潜入在DataGridColumn里的Combox所使用的dataprovider绑定的变量,或是使用的event方法都不能被识别定义。
后来借鉴了下面这个例子,终于意识到是namespace的原因。修改后终于成功:
注意变量定义
[Bindable]
public
var availableMarketGroups:ArrayCollection;
引用时的namespace
Application.application.availableMarketGroups
嵌入的import语句
<mx:Script>
<![CDATA[
import mx.core.Application;
]]>
</mx:Script>
<mx:TitleWindow width="514" height="445" layout="absolute" horizontalAlign="center" verticalAlign="middle" horizontalCenter="0"
verticalCenter="-51" fontFamily="Arial" fontSize="12" id="marketGroupAdminPanel" title="Market Group Administration"
creationComplete="onGroupAdminWindowCreated(event)">
<mx:DataGrid id="marketGroupList" allowMultipleSelection="true" horizontalScrollPolicy="auto"
editable="true" verticalAlign="middle"
name="Restricted Market and Group List"
textAlign="left" left="59" bottom="29" fontSize="12"
fontFamily="Arial" right="68"
verticalScrollPolicy="auto"
creationComplete="marketGroupListCreationComplete(event)"
dataProvider="{getRestrictedMarketGroupInfosResult.lastResult}"
itemRollOver="lastRollOverIndex = event.rowIndex"
contextMenu="{cmMarketGroupInfoListContextMenu}" top="44" tabIndex="4" >
<mx:columns>
<mx:DataGridColumn headerText="Market Name" dataField="marketName" editable="false"/>
<mx:DataGridColumn headerText="Group Name" dataField="marketGroupName" editable="true" itemEditor="{groupsDropDownComponent}">
<mx:itemRenderer>
<mx:Component id="groupsDropDownComponent">
<mx:Box width="100%" height="100%">
<mx:ComboBox dataProvider="{Application.application.availableMarketGroups}" labelField="marketGroupName">
<mx:Script>
<![CDATA[
import mx.core.Application;
]]>
</mx:Script>
</mx:ComboBox>
</mx:Box>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
<mx:Button x="58" y="10" label="Create New Market Group" id="createMarketGroup" click="createMarketGroup_clickHandler(event)"/>
</mx:TitleWindow>
下面是转载的例子,从网上抓的,原址就不贴了
<?xml version= "1.0 " encoding= "utf-8 "?>
<mx:Application xmlns:mx= "http://www.adobe.com/2006/mxml " layout= "absolute " fontFamily= "宋体 " fontSize= "12 " width= "424 " height= "396 ">
<mx:Script>
<![CDATA[
import mx.controls.*;
import mx.core.Application;
import mx.controls.dataGridClasses.*;
private var DataGrid1:DataGrid
[Bindable]
public var dataArr2:Array = [{id:1,name: "铅笔 ",price:100,count: "第2次 "},
{id:2,name: "毛笔 ",price:50,count: "第2次 "},
{id:3,name: "钢笔",price:333,count: "第3次 "}]
[Bindable]
public var dataArr:Array = new Array({label: "第1次 ", data: "1 "},{label: "第2次 ", data: "2 "},
{label: "第3次 ", data: "3 "}, {label: "第4次 ", data: "4 "});
[Bindable]
public var s:int = 2;
]]>
</mx:Script>
<mx:Component id= "myComponent ">
<mx:ComboBox x= "179 " y= "1 " width= "67 " dataProvider= "{Application.application.dataArr} " selectedIndex= "{Application.application.s} ">
<mx:Script>
<![CDATA[
import mx.core.Application;
]]>
</mx:Script>
</mx:ComboBox>
</mx:Component>
<mx:DataGrid id= "DataGrid2 " editable= "true " dataProvider= "{Application.application.dataArr2} " y= "200 " x= "10 ">
<mx:columns>
<mx:DataGridColumn headerText= "序号 " dataField= "id " editable= "false "/>
<mx:DataGridColumn headerText= "名称 " dataField= "name "/>
<mx:DataGridColumn headerText= "价格 " dataField= "price " editorDataField= "value " editable= "false ">
<mx:itemRenderer>
<mx:Component>
<mx:NumericStepper maximum= "1000 " minimum= "10 ">
</mx:NumericStepper>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText= "数量 " dataField= "count " editable= "true " editorDataField= "text " itemEditor= "{myComponent} "/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
分享到:
相关推荐
此外,别忘了在DataGrid的列配置中使用自定义的ComboBox,并正确地设置它们之间的关系。 总结,Flex中实现DataGrid内ComboBox的联动需要掌握事件监听、数据绑定、自定义组件等技术。通过以上步骤,我们可以创建出...
本篇文章将深入探讨如何在DataGrid中集成ComboBox,以及其在实际应用中的使用技巧。 首先,我们需要理解DataGrid和ComboBox的基本概念。DataGrid是WPF中的一个UI元素,用于显示数据集合,并允许用户进行交互,如...
WPF在DataGrid列中使用ComboBox绑定,改变ComboBox可回传至绑定的实体, 网上找了好久,终于搞定了,不是那个用枚举的例子!!ComboBox绑定的是一个实体列表. 程序名字叫 给唐僧选老婆!哈哈
在Flex Datagrid中实现复选框功能,主要是通过添加一个自定义的列renderer来完成。Renderer是Datagrid中的一个小部件,负责渲染每一行或每一列的数据。对于复选框,我们可以创建一个CheckBox类的实例,然后将其设置...
总的来说,解决Flex DataGrid中Combobox列拖动时数据混乱的问题需要理解数据绑定、自定义渲染器和事件监听等核心概念。通过恰当的编程实践和技巧,我们可以使DataGrid在提供灵活交互的同时,保持数据的一致性和正确...
本文将深入探讨如何在Flex DataGrid组件中内嵌ComboBox,并且ComboBox中再内嵌一个DataGrid,这是一项高级的UI设计技术,能够提供复杂的数据展示和交互功能。 首先,让我们理解Flex DataGrid组件。DataGrid是Flex中...
在某些场景下,我们可能需要在DataGrid的列中嵌入ComboBox,以实现更复杂的交互功能。本节将详细探讨如何在C#中实现在DataGrid中添加ComboBox的功能。 首先,我们需要创建一个自定义的DataGridColumn,该列继承自...
在jQuery EasyUI中,DataGrid是一种常用的表格展示控件,它可以与各种编辑器结合使用,如combobox(下拉框)来实现更丰富的交互功能。本文主要探讨的是如何利用jQuery EasyUI的DataGrid和combobox组件实现多级联动的...
Flex DataGrid支持自定义数据提供者,你可以创建一个类来实现IList接口,这个类应该包含分页逻辑,如当前页、总页数、每页记录数等属性。当用户点击分页按钮时,你的数据提供者会更新这些属性,并根据新的分页设置...
而本文主要探讨的是在`datagrid`组件中如何实现`editor`和`combobox`的级联效果。 #### 一、基础概念介绍 1. **Datagrid**: `datagrid`是一个灵活的表格控件,它可以显示数据库中的记录,并且可以进行各种操作如...
在Flex开发中,数据网格...总结,这个Flex3示例展示了如何在DataGrid中嵌套复选框并实现全选功能,这对于构建交互式的数据管理界面至关重要。通过学习和实践,开发者可以创建更灵活、用户友好的数据操作界面。
在提供的文档《Flex_AdvancedDataGrid的使用.doc》中,可能包含了更多关于如何使用和配置`AdvancedDataGrid`以实现表头分组的详细信息,包括示例代码和最佳实践。建议详细阅读文档以深入理解和应用这个功能。 总的...
在开发过程中,开发者可能会利用WPF的`Behaviors`库,如Microsoft.Xaml.Behaviors.Wpf,来增强控件的行为,或者使用MVVMLight等库来简化MVVM模式的实现。对于复杂的交互逻辑,`Attached Properties`和`Dependency ...
Flex的DataGrid中使用CheckBox. 大家共同研究
这可以通过在DataTemplate中使用Binding来实现,绑定到当前行的数据上下文。以下是一份简化的步骤和代码示例: 1. 定义数据模型:创建一个类,该类包含每个数据项的主要属性以及ComboBox所需的下拉列表数据。例如:...
本文将详细讨论如何在Flex DataGrid中实现全选和反选功能,并结合`checkBox`来优化这一过程。 首先,我们要理解DataGrid的结构。DataGrid由多个列组成,每一列可能包含不同类型的控件,如文本、图像或复选框。在...
总结来说,通过自定义ComboBox的下拉列表组件和渲染器,以及创建具有移动和调整大小功能的Panel,我们可以实现Flex中的ComboBox下拉列表中带有Checkbox的功能。这使得用户能够在下拉列表中进行多选操作,同时保持了...
DataGrid动态绑定ComboBox <DataGridComboBoxColumn.EditingElementStyle>