zoukankan      html  css  js  c++  java
  • InfoPath中用户数据类型结构解析

    由于缺少对“用户”数据类型结构的明确定义,在设计InfoPath表达式时往往会耗用大量时间尝试,而且不一定能得到期望结果。下面对用户数据类型的结构进行详细解析。

    >> 什么是用户数据类型

    用户数据类型即保存用户信息的数据类型。直观上,在InfoPaht“域”列表中它前面是两个小人的图片;点击“域属性”,其数据类型为“UserType”;用户数据类型缺省对应的控件类型为“个人/组选择器”。

    >> 数据结构定义

    为方便表述,下面用“UserType”表述用户数据类型对应的类名。借用面向对象语言的表达方式,其成员及属性结构如下:

    UserType.Person
    UserType.Person.DisplayName
    UserType.Person.AccountId
    UserType.Person.AccountType

    >> 类及成员字符串取值

    在InfoPath表达式中对域值做比较时,一般会首先将其转换为字符串,下面以一个示例说明其字符串化后的取值:

    UserType                        — 诸葛亮SHUGUOliang.zhugeUser
    UserType.Person                 — 诸葛亮SHUGUOliang.zhugeUser
    UserType.Person.DisplayName     — 诸葛亮
    UserType.Person.AccountId       — SHUGUOliang.zhuge
    UserType.Person.AccountType     — User

    >> 如何应用

    对于用户数据类型的一种应用场景是比较当前用户是否等于某个用户数据类型的字段值。获取当前用户对应的方法是:userName(),但其返回值形如“liang.zhuge”。所以,若直接拿用户数据类型的域与userName比较,一定无法达到预期结果。所以,对于这种情况,可创建一个规则,并设计如下条件来实现:

    AccountId  包含 userName()
  • 相关阅读:
    图文详解QT布局管理器
    osg中放大缩小模型
    osgearth中XML文档读取报错
    中国河南省洛阳市嵩县黄庄乡红堂村大树芽组
    GIS数据下载整合
    四面体剖分相关开源软件列表
    在你的QT工程中使用ui文件
    对osgAnimation例子的注释的注释
    [debug]调试Release版本应用程序
    链表面试题总结
  • 原文地址:https://www.cnblogs.com/jancco/p/3425833.html
Copyright © 2011-2022 走看看