zoukankan      html  css  js  c++  java
  • 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的字段添加属性进行验证。为了更好维护对验证数据的提示信息,可以使用资源文件保存比如,验证支持特定属性和正则表达式,自定义验证

    代码

    唯一性验证

    需要对提示用户输入的信息重复了

    代码

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

  • 相关阅读:
    简单马周游问题1152siicly
    Sicily 1155. Can I Post the lette
    POJ 1007
    给定2个大小分别为n, m的整数集合,分别存放在两个数组中 int A[n],B[m],输出两个集合的交集。
    算法1--
    GAN
    为什么ConcurrentHashMap是弱一致的
    手写HASHMAP
    千万级规模高性能、高并发的网络架构经验分享
    Web 通信 之 长连接、长轮询(转)
  • 原文地址:https://www.cnblogs.com/neozhu/p/1753030.html
Copyright © 2011-2022 走看看