Apache flex Flex:通过CFC保存可编辑的数据网格

Apache flex Flex:通过CFC保存可编辑的数据网格,apache-flex,datagrid,coldfusion,cfc,Apache Flex,Datagrid,Coldfusion,Cfc,我有一个可编辑的数据网格,我需要能够通过ColdFusion中的CFC与其他表单字段一起保存 基本上,目标是通过RO检索多个位置,这些位置构成第一列。其余列是数据类型,即人口统计、客户记录、约会等,其目的是用户勾选网格中的每个复选框,以表明他们愿意与这些位置共享数据类型。必须这样做,因为位置可能会改变,因此随着时间的推移,可能会有两个或四个或更多 代码运行至今,看起来不错,但节省的部分让我发疯!!请帮忙 提前谢谢 :) 该规范(出于理智原因而删节)如下: public function hand

我有一个可编辑的数据网格,我需要能够通过ColdFusion中的CFC与其他表单字段一起保存

基本上,目标是通过RO检索多个位置,这些位置构成第一列。其余列是数据类型,即人口统计、客户记录、约会等,其目的是用户勾选网格中的每个复选框,以表明他们愿意与这些位置共享数据类型。必须这样做,因为位置可能会改变,因此随着时间的推移,可能会有两个或四个或更多

代码运行至今,看起来不错,但节省的部分让我发疯!!请帮忙

提前谢谢 :) 该规范(出于理智原因而删节)如下:

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);