Apache flex Flex:通过CFC保存可编辑的数据网格
我有一个可编辑的数据网格,我需要能够通过ColdFusion中的CFC与其他表单字段一起保存 基本上,目标是通过RO检索多个位置,这些位置构成第一列。其余列是数据类型,即人口统计、客户记录、约会等,其目的是用户勾选网格中的每个复选框,以表明他们愿意与这些位置共享数据类型。必须这样做,因为位置可能会改变,因此随着时间的推移,可能会有两个或四个或更多 代码运行至今,看起来不错,但节省的部分让我发疯!!请帮忙 提前谢谢 :) 该规范(出于理智原因而删节)如下:Apache flex Flex:通过CFC保存可编辑的数据网格,apache-flex,datagrid,coldfusion,cfc,Apache Flex,Datagrid,Coldfusion,Cfc,我有一个可编辑的数据网格,我需要能够通过ColdFusion中的CFC与其他表单字段一起保存 基本上,目标是通过RO检索多个位置,这些位置构成第一列。其余列是数据类型,即人口统计、客户记录、约会等,其目的是用户勾选网格中的每个复选框,以表明他们愿意与这些位置共享数据类型。必须这样做,因为位置可能会改变,因此随着时间的推移,可能会有两个或四个或更多 代码运行至今,看起来不错,但节省的部分让我发疯!!请帮忙 提前谢谢 :) 该规范(出于理智原因而删节)如下: public function hand
public function handleconsentResult(event:ResultEvent):void {
consentDatagrid.dataProvider = event.result;
}
<mx:RemoteObject id="consentQuery"
destination="ColdFusion"
source="Build3.consent"
showBusyCursor="true">
<mx:method name="getconsent" result="handleconsentResult(event)" fault="fault(event)" />
公共函数handleconcentresult(事件:ResultEvent):void{
同意DataGrid.dataProvider=event.result;
}
我不知道CF中的Flex,但您是否确定要一次性保存它们,还是通过某种“保存”或“提交”操作 如果你打算一次把它们全部保存下来,那么这篇文章可能会有所帮助
否则,我会在每个单元格中的onChange事件上放置一个标记,并实时写入。我不知道CF中的Flex,但您是否确定要一次性保存它们,还是通过某种“保存”或“提交”操作 如果你打算一次把它们全部保存下来,那么这篇文章可能会有所帮助
否则,我只需在每个单元格中的onChange事件上放置一个标记,并实时写入它。听起来您想要做的是将DataGrid的全部内容作为表单数据的其余部分返回。我还在学习Flex,但我相信它会自动从ArrayCollection转换为查询,因为您使用的是AMF 由于您没有为DataGrid使用dataProvider属性,因此我假设您正在从
creationComplete
事件调用的init
函数中将ArrayCollection对象绑定到DataGrid。在这种情况下,在将表单数据返回到服务器之前,需要执行相反的操作:将DataGrid值复制回要返回的变量
或者,您可以使用可绑定的ArrayCollection变量,以便在用户更新DataGrid时,ArrayCollection变量已经更新,您只需将其返回ColdFusion即可。听起来您想要做的是将DataGrid的全部内容作为表单数据其余部分的成员返回。我还在学习Flex,但我相信它会自动从ArrayCollection转换为查询,因为您使用的是AMF 由于您没有为DataGrid使用dataProvider属性,因此我假设您正在从
creationComplete
事件调用的init
函数中将ArrayCollection对象绑定到DataGrid。在这种情况下,在将表单数据返回到服务器之前,需要执行相反的操作:将DataGrid值复制回要返回的变量
或者,您可以使用一个可绑定的ArrayCollection变量,这样当用户更新DataGrid时,ArrayCollection变量就已经更新了,您只需将其返回ColdFusion即可。我需要做一些类似的事情,我发现它可以很好地创建一个“数据集”actionscript中的对象和将相互映射的类似CFC。从flex调用传递actionscript对象的远程方法,然后在CF端将其转换为cfc
[RemoteClass(alias = "model.DataSet")] **//maps to the CFC**
[Bindable]
public class DataSetVO
{
public var rows:Array;
public function DataSetVO()
{
}
}
CFC是这样的。确保将alias属性设置为与actionscript对象的RemoteClass中设置的别名匹配:
<cfcomponent name="DataSet" alias="model.DataSet">
<cfproperty name="rows" type="array" />
</cfcomponent>
将复杂对象从Flex映射到CF可能有点棘手,但一旦设置好了,就非常好了
这些文章可能会有帮助
我需要做一些类似的事情,我发现在actionscript中创建一个“数据集”对象和一个相互映射的类似CFC非常有效。从flex调用传递actionscript对象的远程方法,然后在CF端将其转换为cfc
[RemoteClass(alias = "model.DataSet")] **//maps to the CFC**
[Bindable]
public class DataSetVO
{
public var rows:Array;
public function DataSetVO()
{
}
}
CFC是这样的。确保将alias属性设置为与actionscript对象的RemoteClass中设置的别名匹配:
<cfcomponent name="DataSet" alias="model.DataSet">
<cfproperty name="rows" type="array" />
</cfcomponent>
将复杂对象从Flex映射到CF可能有点棘手,但一旦设置好了,就非常好了
这些文章可能会有帮助
//make a remote call to save the grid
//populate your VO with the contents of the grid, in this case I have an object
//that gives me one, basically iterate over the dataprovider of the grid
var myVO:DataSetVO = myDataSet.getAsVO();
//calling the remote CFC passing the VO that will be mapped to a CFC on the server
cfsvc.saveToFile(myVO);