Silverlight 2 (beta1)数据操作(6)——使用LINQ to SQL进行数据CRUD操作(下)
2008-10-11 11:42:19 来源:WEB开发网当选中某一项时,触发这个事件,获取选中的项,调用用户控件对外提供的SetProduct方法绑定到TextBox上。
private void grdProducts_SelectionChanged
(object sender, EventArgs e)
{
Product productEntity = (Product)grdProducts.SelectedItem;
ProductDetailShow.SetProduct(productEntity);
}
4.完善程序
接下来,我们还需要写一些事件完善这个程序,首先我们完成在用户控件中定义的三个公共的事件。
ProductDetailShow.ProductUpdated +=
new ProductDetail.ProductUpdatedHandler
(ProductDetailShow_ProductUpdated);
ProductDetailShow.ProductEditCancel +=
new ProductDetail.ProductEditCancelHandler
(ProductDetailShow_ProductEditCancel);
ProductDetailShow.ProductDeleted +=
new ProductDetail.ProductDeletedHandler
(ProductDetailShow_ProductDeleted);
实现这些事件方法,这些方法就是起到刷新列表,获取选中项的作用。
void ProductDetailShow_ProductDeleted(object source)
{
//删除选中的Product,重新绑定数据源
List<Product> products = new List<Product>
(grdProducts.ItemsSource as Product[]);
products.Remove(grdProducts.SelectedItem as Product);
grdProducts.ItemsSource = products.ToArray<Product>();
}
void ProductDetailShow_ProductEditCancel(object source)
{
//获取选择的Product
Product productEntity = (Product)grdProducts.SelectedItem;
}
void ProductDetailShow_ProductUpdated
(object source, Product product)
{
//刷新列表
academeSClient.GetAllProductsAsync();
}
最后来个整个项目截图
结语
本篇程序分为3层架构,在数据访问层LINQ to SQL,在Web Service层使用WCF,最后在客户端Silverlight完成调用。
这个Silverlight项目被我弄的好像复杂了,这下顺便学习了用户控件事件的调用,不过这样增强了用户体验,不像上几篇所说的,各个用户控件好像很独立,没有很好的结合起来。这仅仅提供这个方法很好的结合用户控件把这个程序整合的很完善了。最后说一下,这里全部的代码都贴出来了,大家只要按步骤来,可以完成这个程序的,源代码就不提供下载了,因为我这个项目在使用中,还在扩充。大家也可以扩充,比如在DataGrid中嵌套一些控件显示图片,类型等等。
Tags:Silverlight 数据
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接