zoukankan      html  css  js  c++  java
  • 一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(9)--高级函数

       在第五章节,当我们介绍函数概念并在练习中使用concat和now函数,你了解了infoPath函数。InfoPath中大多数函数都是不言自明的,表单设计者有个常见的问题,关于文本自动大小写转换的用例。你的表单可能需要它----如比较两个域(大小写敏感会影响结果)。另一个例子是强制某个域为大写或小写,即使用户没有正确输入(自动转换)。

            支持这个功能的InfoPath函数叫Translate。它有三个自变量,返回转换过的文本字符串。第一个自变量定义文本字符串内容,第二个决定改变哪些字符,最后一个指定改变字符成为什么。第二个自变量中的字符被转化到第三个自变量匹配位置的字符。因为第二个位置的字符被转换来匹配第三个自变量,通过给第三个自变量null值,Translate也用来从一个字符串抽取出不想要的字符。

            下面的练习帮你理解如何使用Translate转换大小写(无论用户输入什么都变成小写)。

            准备:打开InfoPath Designer,创建一个空白表单。

    1.      给表单添加两个文本框控件。

    2.      右击第二个文本框空间打开属性。

    3.      点击“默认值”,点击“插入公式”。

    4.      选择“插入函数”,在“文本”类别,选择“Translate”。

    5.      双击第一个“插入域”链接,选择第一个文本框(可能名为域1)。

    6.      用下列文本代替另外两个“双击以插入域”:”ABCDEFGHIJKLMNOPQRSTUVWXYZ”, “abcdefghijklmnopqrstuvwxyz”。字符和引号都不能错。

            注意:记住,Translate将第二个自变量转换为第三个。所以这里是将第一个文本控件值从大写转化为小写,反过来也可以做。

    7.      点击“确定”两次,预览表单。

    8.      在第一个文本框输入大小写结合的字符,按下Tab。

            如果你想看另一个,使用Translate函数更加复杂的例子。打开13章节“SharePoint视图和仪表板”的Help Desk模板。这个表单中,创建新申请按钮有个提交规则。第一个操作就是设置RequestID域值。

            Translate函数在这里使用,与另外两个函数结合,SubString、Now。

            目标是创建一个申请ID,由Now函数生成但是去掉不要的字符,从返回值第六个位置开始。所以Translate函数将Now值作为第一个自变量。第二个自变量展示你想要代替的文本。任何文本如(:-或T)都会变成第三个自变量,null值。换句话说,去掉这些:-或T。

            进一步讲,下面截图,第一个域是标准的文本控件,应用了Now函数,没有任何修改。第二个有应用了Help Desk表单中使用的公式更加复杂的版本。

            你可以看到通过恰当地应用函数,表单去掉了不要的字符,留下月08,日期26,和代表当前小时06、分钟46、秒52。我们最后有个非常高效的方法,使用函数组合给表单ID域分配唯一的整数值。

  • 相关阅读:
    旧题复习{6}
    CF219D. Choosing Capital for Treeland [树形DP]
    POJ1947 Rebuilding Roads[树形背包]

    洛谷P1280 尼克的任务[DP]
    NOIP2003pj栈[卡特兰数]
    NOIP2001统计单词个数[序列DP]
    洛谷P1415 拆分数列[序列DP 状态 打印]
    POJ2828 Buy Tickets[树状数组第k小值 倒序]
    CF380C. Sereja and Brackets[线段树 区间合并]
  • 原文地址:https://www.cnblogs.com/batter152/p/4272403.html
Copyright © 2011-2022 走看看