稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
2010-10-14 09:27
836 查看
[索引页]
[源码下载]
[align=center]稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作[/align]
作者:webabcd
介绍
Silverlight 4.0 之 WCF RIA Services:概述以及如何通过 DomainDataSource 实现数据的添加、查询、更新和删除操作,以及服务端的查询、排序和分页等逻辑
在线DEMO
/article/4589659.html
示例
1、概述
Summary.xaml
代码
/*
* 演示通过 DomainDataSource 实现数据的添加、查询、更新和删除操作,以及服务端的查询、排序和分页等逻辑
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Navigation;
using Silverlight40.Web.Model;
using System.ServiceModel.DomainServices.Client;
namespace Silverlight40.WCFRIAServices
{
public partial class DomainDataSourceDemo : Page
{
public DomainDataSourceDemo()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
// DomainDataSource.SubmitChanges() - 提交数据的变化
// DomainDataSource.SubmittingChanges - SubmitChanges() 执行前所触发的事件
// DomainDataSource.SubmittedChanges - SubmitChanges() 执行后所触发的事件
// DomainDataSource.Load() - 加载查询结果
productDomainDataSource.SubmittingChanges += new EventHandler<SubmittingChangesEventArgs>(productDomainDataSource_SubmittingChanges);
productDomainDataSource.SubmittedChanges += new EventHandler<SubmittedChangesEventArgs>(productDomainDataSource_SubmittedChanges);
}
private void productDomainDataSource_LoadedData(object sender, LoadedDataEventArgs e)
{
if (e.HasError)
{
System.Windows.MessageBox.Show(e.Error.ToString(), "Load Error", System.Windows.MessageBoxButton.OK);
e.MarkErrorAsHandled();
}
}
private void btnSave_Click(object sender, RoutedEventArgs e)
{
productDomainDataSource.SubmitChanges();
}
void productDomainDataSource_SubmittingChanges(object sender, SubmittingChangesEventArgs e)
{
MessageBox.Show("Submitting");
}
void productDomainDataSource_SubmittedChanges(object sender, SubmittedChangesEventArgs e)
{
if (e.HasError)
{
MessageBox.Show(e.Error.ToString());
}
else
{
MessageBox.Show("Submitted");
productDomainDataSource.Load();
}
}
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
// DomainDataSource.DomainContext - 数据上下文对象 [System.ServiceModel.DomainServices.Client.DomainContext 类型]
// DomainContext.EntityContainer - 数据上下文对象中的全部实体 [System.ServiceModel.DomainServices.Client.EntityContainer 类型]
// EntityContainer.GetEntitySet<T>() - 获取指定类型的实体数据
EntitySet<Product> products = productDomainDataSource.DomainContext.EntityContainer.GetEntitySet<Product>();
Product product = new Product();
product.ProductName = txtProductName4Add.Text;
product.CategoryID = 1;
product.SupplierID = 1;
products.Add(product);
productDomainDataSource.SubmitChanges();
}
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
EntitySet<Product> products = productDomainDataSource.DomainContext.EntityContainer.GetEntitySet<Product>();
Product product = dataGrid.SelectedItem as Product;
products.Remove(product);
productDomainDataSource.SubmitChanges();
}
}
}
OK
[源码下载]
[源码下载]
[align=center]稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作[/align]
作者:webabcd
介绍
Silverlight 4.0 之 WCF RIA Services:概述以及如何通过 DomainDataSource 实现数据的添加、查询、更新和删除操作,以及服务端的查询、排序和分页等逻辑
在线DEMO
/article/4589659.html
示例
1、概述
Summary.xaml
代码
/*
* 演示通过 DomainDataSource 实现数据的添加、查询、更新和删除操作,以及服务端的查询、排序和分页等逻辑
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Navigation;
using Silverlight40.Web.Model;
using System.ServiceModel.DomainServices.Client;
namespace Silverlight40.WCFRIAServices
{
public partial class DomainDataSourceDemo : Page
{
public DomainDataSourceDemo()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
// DomainDataSource.SubmitChanges() - 提交数据的变化
// DomainDataSource.SubmittingChanges - SubmitChanges() 执行前所触发的事件
// DomainDataSource.SubmittedChanges - SubmitChanges() 执行后所触发的事件
// DomainDataSource.Load() - 加载查询结果
productDomainDataSource.SubmittingChanges += new EventHandler<SubmittingChangesEventArgs>(productDomainDataSource_SubmittingChanges);
productDomainDataSource.SubmittedChanges += new EventHandler<SubmittedChangesEventArgs>(productDomainDataSource_SubmittedChanges);
}
private void productDomainDataSource_LoadedData(object sender, LoadedDataEventArgs e)
{
if (e.HasError)
{
System.Windows.MessageBox.Show(e.Error.ToString(), "Load Error", System.Windows.MessageBoxButton.OK);
e.MarkErrorAsHandled();
}
}
private void btnSave_Click(object sender, RoutedEventArgs e)
{
productDomainDataSource.SubmitChanges();
}
void productDomainDataSource_SubmittingChanges(object sender, SubmittingChangesEventArgs e)
{
MessageBox.Show("Submitting");
}
void productDomainDataSource_SubmittedChanges(object sender, SubmittedChangesEventArgs e)
{
if (e.HasError)
{
MessageBox.Show(e.Error.ToString());
}
else
{
MessageBox.Show("Submitted");
productDomainDataSource.Load();
}
}
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
// DomainDataSource.DomainContext - 数据上下文对象 [System.ServiceModel.DomainServices.Client.DomainContext 类型]
// DomainContext.EntityContainer - 数据上下文对象中的全部实体 [System.ServiceModel.DomainServices.Client.EntityContainer 类型]
// EntityContainer.GetEntitySet<T>() - 获取指定类型的实体数据
EntitySet<Product> products = productDomainDataSource.DomainContext.EntityContainer.GetEntitySet<Product>();
Product product = new Product();
product.ProductName = txtProductName4Add.Text;
product.CategoryID = 1;
product.SupplierID = 1;
products.Add(product);
productDomainDataSource.SubmitChanges();
}
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
EntitySet<Product> products = productDomainDataSource.DomainContext.EntityContainer.GetEntitySet<Product>();
Product product = dataGrid.SelectedItem as Product;
products.Remove(product);
productDomainDataSource.SubmitChanges();
}
}
}
OK
[源码下载]
相关文章推荐
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作