当前位置: 首页 > news >正文

一步步学习微软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域分配唯一的整数值。

转载于:https://www.cnblogs.com/crazygolf/p/3856858.html

相关文章:

  • vue+webpack 在引入图片以及在img引用变量名的本地图片报错
  • android选择图片或拍照图片上传到服务器(包括上传参数) (转)
  • 你应该了解的大数据10个新趋势
  • js编写倒计时-距离开始时间距离结束时间-结束
  • in, out, ref
  • 以太坊 ERC223 标准与 ERC20 的区别是什么?
  • 7、请求参数接收
  • iPhone的指纹识别与面部识别(FaceID)
  • 状态模式与外观模式的碰撞
  • 【hdoj】1358 Period【字符串--最小循环节 i/next[i]即为其长度】
  • Cracking The Coding Interview 3.6
  • 爬虫原理与数据抓取----- urllib2:GET请求和POST请求
  • 算法导论读书笔记(2)
  • Java中的基本类型和包装类
  • 用jquery-easyui中的combotree实现树形结构的选择
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • canvas 绘制双线技巧
  • CSS3 变换
  • ECS应用管理最佳实践
  • Electron入门介绍
  • ES6系列(二)变量的解构赋值
  • GraphQL学习过程应该是这样的
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • React+TypeScript入门
  • spring cloud gateway 源码解析(4)跨域问题处理
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 从重复到重用
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 每天一个设计模式之命令模式
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 一起参Ember.js讨论、问答社区。
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #pragma once
  • $GOPATH/go.mod exists but should not goland
  • $refs 、$nextTic、动态组件、name的使用
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (3)(3.5) 遥测无线电区域条例
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (十)T检验-第一部分
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .bat批处理出现中文乱码的情况
  • .NET CLR Hosting 简介
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET 反射 Reflect
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET与 java通用的3DES加密解密方法
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @拔赤:Web前端开发十日谈
  • [ Algorithm ] N次方算法 N Square 动态规划解决