silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了WCF RIA Service 基础—Data Binding, Creating and Editing大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

代码下载:SlEventManager 前面看到有几个朋友让我写几遍RIA service的文章。之前都没时间去写,自己有点懒。呵呵。今天先送上一篇吧。 需要Silverlight 4 RC和VS2010 RC。 Google了下,看到有几个人写的中文版都是Silverlight 3和VS2008的。所以我这个也算是比较早的中文资料,希望对不喜欢看英文资料的.net开发人员有帮助。 WCF RIA

代码下载:SlEventManager

前面看到有几个朋友让我写几遍RIA service的文章。之前都没时间去写,自己有点懒。呵呵。今天先送上一篇吧。

需要Silverlight 4 RC和VS2010 RC。

Google了下,看到有几个人写的中文版都是Silverlight 3和VS2008的。所以我这个也算是比较早的中文资料,希望对不喜欢看英文资料的.net开发人员有帮助。

WCF RIA service 基础—Data Binding,CreaTing and EdiTing

1.       VS2010中新建一个Silverlight Business Application命名为SlEventManager;

@H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

右键SlEventManager的项目名称,选择Properties,你可以在属性页面的最下面看到此SL项目所使用的WCF RIA service链接

 

@H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

2.       创建一个Entity Data Model类。

SlEventManagement.Web项目下的App_Data文件夹下添加一个数据库,然后把SlEventManager.mdf数据库添加项目中。这个就作为我们的数据源。

接下来就创建用来为WCF RIA service提供实体的Entity Data@H_284_197@  @H_462_20@model

a.       右键SlEventMananger.Web项目,选择添加新项,然后在Code这个分类中找到ADO.Net Entity Data Model模板,改名为EventManagerDbModel,然后点击添加。出现如下界面:

@H_284_197@ @H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

b.      按照提示选择刚才添加项目中数据库作为数据源,点击下一,这时需要你选择所需要的数据表(选中下图所示的几张表)

 

@H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

c.       现在我们的Data Model就完成了。这时一定要先重新编译一下项目,否则你会无法进行接下来的操作。

3.       创建一个Domain services

a.       和第二步相同,SlEventManager.Web项目添加一个新项,然后到Web系列的模版中找到Domain service Class模板,重命名EventManagerDomainservice,点击添加按钮。

b.      这时你能看到在第二步的Data Model,选中所有的checkBox,别忘了选中下面的生成元数据。如图:

@H_284_197@ @H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

这时你应该在项目的浏览器中看到多了三个文件

 

@H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

4.       现在重新编译一下项目。按说应该在Data source中能够看到下图所示的数据源:

 

@H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

实际上我的VS2010根本就看不到,我查了很多网上的论坛,大家都有这个问题。可能是因为版本的不同吧。应该到了RTC版本就OK了。

没有这个也不影响我们的后续操作。

5.       回到SlEventManager项目,View文件夹下,打开home.xaml文件,然后点击只给页面保留一个名字为LayoutRootGrid,然后需要添加引用:

 

@H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

a.       Home.xaml文件注册添加的那个dll以及RIA service所在的命名空间:

 

@H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

 

b.      第二步就是在Gird添加Domainservicesource

c.  @H_284_197@    <riaControls:DomainDatasource AutoLoad="True" d:DataContext="{d:DesignInstance my:Event,CreateList=TruE}" Height="0" LoadedData="eventDomainDatasource_LoadedData" Name="eventDomainDatasource" QueryName="GetEventsQuery" Width="0">

@H_284_197@            <riaControls:DomainDatasource.DomainContext>

 

d.      接下来就是数据的绑定:

@H_284_197@     <riaControls:DomainDatasource.DomainContext>

@H_284_197@                <@H_152_719@my1:EventManagerDomainContext/>

@H_284_197@            </riaControls:DomainDatasource.DomainContext>

@H_284_197@        </riaControls:DomainDatasource>

@H_284_197@        <sdk:DataGrid AutoGeneratecolumns="false" Itemssource="{Binding ElementName=eventDomainDatasource, Path=Data}" Margin="12,40,12,12" Name="eventDataGrid" RowDetailsVisibilitymode="VisibleWhenSELEcted">

@H_284_197@            <sdk:DataGrid.columns>

@H_284_197@                <sdk:DataGridTextcolumn x:Name="eventtitlecolumn" Binding="{Binding Path=EventtitlE}" Header="Event title" Width="SizeToHeader" />

@H_284_197@                <sdk:DataGridTextcolumn x:Name="eventStartDatecolumn" Binding="{Binding Path=EventStartDatE}" Header="Event Start Date" Width="SizeToHeader"/>

@H_284_197@                <sdk:DataGridTextcolumn x:Name="eventEndDataecolumn" Binding="{Binding Path=EventEndDatE}" Header="Event End Date" Width="SizeToHeader"/>

@H_284_197@                <sdk:DataGridTextcolumn x:Name="eventVenuenamecolumn" Binding="{Binding Path=EventVenuename}" Header="Event Venue Name" Width="SizeToHeader" />

@H_284_197@                <sdk:DataGridTextcolumn x:Name="eventDescriptioncolumn" Binding="{Binding Path=EventDescription}" Header="Event Description" Width="*" />

@H_284_197@          </sdk:DataGrid.columns>

@H_284_197@        </sdk:DataGrid>

 

直接按F5运行看结果:

 

@H_262_76@@H_262_76@WCF RIA Service 基础—Data Binding, Creating and Editing

 

6.       Date添加Calendar

这个就是DataGrid属性了。创建两个Templatecolumn

把原来的Start Date End Date代码去掉换成如下代码

@H_284_197<sdk:DataGridTemplatecolumn x:Name="eventStartDatecolumn" Header="Event Start Date" Width="SizeToHeader">

@H_284_197@                    <sdk:DataGridTemplatecolumn.CellTemplate>

@H_284_197@                        <DataTemplate>

@H_284_197@                            <sdk1:DatePicker SELEctedDate="{Binding Path=EventStartDate, Mode=TwoWay, NotifyOnValidationError=truE}" />

@H_284_197@                        </DataTemplate>

@H_284_197@                    </sdk:DataGridTemplatecolumn.CellTemplate>

@H_284_197@                </sdk:DataGridTemplatecolumn>

@H_284_197@                <sdk:DataGridTemplatecolumn x:Name="eventEndDatecolumn" Header="Event End Date" Width="SizeToHeader">

@H_284_197@                    <sdk:DataGridTemplatecolumn.CellTemplate>

@H_284_197@                        <DataTemplate>

@H_284_197@       @H_284_197@                     <sdk1:DatePicker SELEctedDate="{Binding Path=EventEndDate, NotifyOnValidationError=truE}" />

@H_284_197@                        </DataTemplate>

@H_284_197@                    </sdk:DataGridTemplatecolumn.CellTemplate>

@H_284_197@                </sdk:DataGridTemplatecolumn>

 

运行结果:

 

@H_262_76@@H_262_76@@H_696_1598@

@H_798_1607@

大佬总结

以上是大佬教程为你收集整理的WCF RIA Service 基础—Data Binding, Creating and Editing全部内容,希望文章能够帮你解决WCF RIA Service 基础—Data Binding, Creating and Editing所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。