Silverlight 4向DomainDataSource添加新项

Silverlight 4向DomainDataSource添加新项,silverlight,data-binding,service,ria,domaindatasource,Silverlight,Data Binding,Service,Ria,Domaindatasource,我有一个简单的datagrid列表地址和一个子窗口,用户可以在其中编辑/添加新的地址。在带有datagrid的主窗体上,我有一个“插入新地址”按钮,该按钮应使用空地址对象加载子窗口。但是,它不允许我添加记录。我做错什么了吗?我目前的代码如下: Dim address As New Address Dim frmAddressObj As New frmAddress If frmAddressObj.AddressDomainDataSource.DataView.Ca

我有一个简单的datagrid列表地址和一个子窗口,用户可以在其中编辑/添加新的地址。在带有datagrid的主窗体上,我有一个“插入新地址”按钮,该按钮应使用空地址对象加载子窗口。但是,它不允许我添加记录。我做错什么了吗?我目前的代码如下:

    Dim address As New Address
    Dim frmAddressObj As New frmAddress

    If frmAddressObj.AddressDomainDataSource.DataView.CanAdd = False Then
        frmAddressObj.AddressDomainDataSource.Load()
    End If
    frmAddressObj.AddressDomainDataSource.DataView.Add(address)

Address是Address对象。frmAddress是儿童窗体。AddressDomainDataSource是我在datagrid中使用的数据源,与我在子网格中使用的数据源相同。CanAdd总是错误的,我被告知在添加之前尝试加载,但这似乎没有帮助。当它到达Add方法时,它返回一个异常,即此ICollectionView不支持“Add”。任何帮助都将不胜感激。谢谢

应将DataView字段视为只读集合。DomainDataSource与DataGrid的最简单通用用法如下:

(myDataSource.DomainContext as myDomainContext).my_entitys.Remove(dgOrders.SelectedItem as order);
(myDataSource.DomainContext as myDomainContext).SubmitChanges();
这与insert类似,您只需使用

my_entitys.Add(myNewEntityInstance); 
而不是

my_entitys.Remove(entityToRemove);
如果需要更新,只需致电

(myDataSource.DomainContext as myDomainContext).SubmitChanges();

DataView字段应视为只读集合。DomainDataSource与DataGrid的最简单通用用法如下:

(myDataSource.DomainContext as myDomainContext).my_entitys.Remove(dgOrders.SelectedItem as order);
(myDataSource.DomainContext as myDomainContext).SubmitChanges();
这与insert类似,您只需使用

my_entitys.Add(myNewEntityInstance); 
而不是

my_entitys.Remove(entityToRemove);
如果需要更新,只需致电

(myDataSource.DomainContext as myDomainContext).SubmitChanges();

您还必须在域服务中具有insert方法。因此,请确保您有一个如下所示的方法:

Public Sub InsertAddress(address As Address)
End Sub
或者用C#


您还必须在域服务中具有insert方法。因此,请确保您有一个如下所示的方法:

Public Sub InsertAddress(address As Address)
End Sub
或者用C#


我最近也遇到了同样的问题,在我的例子中,DomainDataSource没有加载(甚至还没有绑定到它的上下文),因为它位于未选中的TabItem中


请确保您的DomainDataSource已正确加载到可视化树中,这解决了我的问题。

我最近遇到了同样的问题,在我的案例中,DomainDataSource未加载(甚至尚未绑定到其上下文),因为它位于未选中的TabItem中

确保在可视化树中正确加载了DomainDataSource,这解决了我的问题