您的位置:首页 > 其它

WCF RIA 服务 (二十三)-- Silverlight 客户端 4

2010-06-05 02:27 393 查看
DomainDataSource
WCF RIA Services提供DomainDataSource控件来简化用户界面和域上下文中数据的交互。通过DomainDataSource,我们可以只是用声明性语法来检索、编辑数据。我们指定域上下文与DomainDataSource一起使用,然后通过这个上下文来调用操作。

配置Silverlight应用程序的DomainDataSource
为了使用DomainDataSource控件,我们必须在包含DomainDataSource的SL控件中添加一个程序集的引用和命名空间。
在SL项目中,我们必须添加一个对 System.Windows.Controls.Ria程序集的引用。如果选择DataGrid与DomainDataSource一起使用,我们还要添加对System.Windows.Controls.Data的引用。
在宿主控件内,例如UserControl,我们必须添加下面的命名空间引用:

xmlns:riaControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Ria"
xmlns:riaData="clr-namespace:System.Windows.Data;assembly=System.Windows.Controls.Ria"
xmlns:domain="clr-namespace:SilverlightApplication17.Web"

如果选择使用DataGrid控件,还需添加下面的命名空间:

xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"

检索和显示数据

我们为DomainDataSource指定一个域上下文,并向用户提供方法的名字来装载数
据。然后我们绑定表示控件,例如DataGrid对DomainDataSource。下面的例子演示了DomainDataSource检索从名为
ProductDomainContext的域上下文而来的数据。在域服务中应该存在一个名为GetProduct()的查询方法。

代码

1 <grid x:name="LayoutRoot" background="White">
2 <grid.rowdefinitions>
3 <rowdefinition height="Auto">
4 <rowdefinition height="Auto">
5 <rowdefinition>
6 <riacontrols:domaindatasource pagesize="15" loadsize="30" x:name="source" queryname="GetProducts" autoload="true">
7 <riacontrols:domaindatasource.domaincontext>
8 <domain:productdomaincontext></domain:productdomaincontext>
9 <riacontrols:domaindatasource.sortdescriptors>
10 <riadata:sortdescriptor propertypath="ListPrice">
11 </riadata:sortdescriptor>
12 </riacontrols:domaindatasource.sortdescriptors>
13 <datac:datagrid grid.row="0" itemssource="{Binding Data, ElementName=source}">
14 <datac:datapager grid.row="1" source="{Binding Data, ElementName=source}">
15 </datac:datapager>
16 </datac:datagrid>
17 </riacontrols:domaindatasource.domaincontext>
18 </riacontrols:domaindatasource>
19 </rowdefinition>
20 </grid.rowdefinitions>
21 </grid>

编辑

进行数据更改,需要调用DomainDataSource对象的SubmitChanges方
法。要取消更改,调用RejectChanges方法。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/blackant2/archive/2010/04/08/5461685.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: