常言笑的家

Spring, Hibernate, Struts, Ajax, RoR

详解Silverlight 4中RIA Service dataform Template, 代码选择控件及Validate验证的技巧

本文和大家分享一下Silverlight 4 RIA Service dataform Template, 代码选择控件,Validate验证使用技巧
功能 
定义只读,新增,编辑三块模块
 
定义模板的目的是更好的复用和提高XAML代码的可读性和可维护性,也可以更好的分工合作。下面是一个归并关系的维护界面。 
 

 
主要有表头,多个表体组成,为了把所有操作尽量在一个页面中完成,表头使用一个DataForm空间,表体使用DataGrid和DataForm组合实现。
而DataForm有三种状态分别是只读(显示不可编辑),编辑,新增。因此我们需要为这三种模板来控制每个控件的布局和属性,比如只读状态下空间的IsReadOnly为True,编辑状态下,关键字字段的IsReadOnly为True,其他字段可以编辑,编辑状态使用选择控件方便输入,新增状态下,对于关键字段和必填字段需要用粗体字体显示(默认)或其他形式提醒操作用,这都需要在不同的模板中定于。
提示:布局使用Data Filed控件系统默认根据DataForm控件的状态改变Data Field编辑状态
下图是编辑状态下的布局


模板文件

XAML代码


自定义代码选择控件,快速输入控件
 
最常见的单机放大镜弹出所有记录选择后返回页面或是在一个TextBox中输入一个代码(料号)自动带出名称,单位,单价等信息实现快速输入。如果用asp.net需要写需要JavaScript代码,而使用Silverlight则非常容易就能实现。


XAML代码;


通过把需要带出的字段绑定到自定义控件上。
Silverlight代码
属性绑定代码


赋值代码


为了提高代码的可读性,推荐使用匿名方法
类似的简单的CodeValue的选择使用AutoCompleted控件自己小改一下便可实现

下面是实现代码,名称快速转换的实现,显示名称保存代码
定义一个Converter,和一个代码组的数据源


数据源继承一个接口方便转换时使用

字段输入验证(唯一性验证)
 
通过对DomainService生成的metadata class的字段添加属性进行验证。为了更好维护对验证数据的提示信息,可以使用资源文件保存比如,验证支持特定属性和正则表达式,自定义验证




代码

唯一性验证
需要对提示用户输入的信息重复了


代码


注意:这里需要添加一个编译条件,不然无法编译过去。

posted on 2011-03-27 19:05 常言笑 阅读(1685) 评论(2)  编辑  收藏 所属分类: SilverLight

Feedback

# re: 详解Silverlight 4中RIA Service dataform Template, 代码选择控件及Validate验证的技巧 2011-03-30 19:19 程义山

能不能提供上述例子的源码学习?
chyishan@tom.com
chyishan@qq.com
谢谢  回复  更多评论   

# re: 详解Silverlight 4中RIA Service dataform Template, 代码选择控件及Validate验证的技巧 2012-03-16 16:10 鑫子

楼主很强啊,能否共享一下上面例子的源码 needloss@163.com  回复  更多评论   



只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿(5)

随笔分类

随笔档案

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜