Filter 函数查找表中满足公式的记录。 使用 Filter 可查找匹配一个或多个条件的一组记录并丢弃不匹配的记录。
例:Filter(用户表zy,权限.Value="审批人")
LookUp 函数查找表中满足公式的第一条记录。 使用 LookUp 可查找匹配一个或多个条件的单个记录。
例:LookUp(用户表zy,账号 = TextInput1.Text)
Search 函数在表中查找其某个列中包含某个字符串的记录。 字符串可能出现在列中的任何位置;例如,搜索“rob”或“bert”会在包含“Robert”的列中找到匹配项。 搜索不区分大小写。 与 Filter 和 LookUp 不同,Search 函数使用单个字符串而非公式进行匹配。
Filter 和 Search 返回包含与原始表相同的列的表和匹配条件的记录。 LookUp 用公式将记录归约为单个值后,仅返回找到的第一条记录。 如果未找到记录,Filter 和 Search 将返回空表,LookUp 将返回空白。
IsBlank 函数测试空白值或空字符串。
例:IsBlank(DateValue1)
IsBlank 的返回值为布尔值 true 或 false。
要专门测试空白值,请使用 if( Value = Blank()),
而不是 IsBlank。
If 函数会一直测试一个或多个条件,直到结果为 true 时为止。
例:If(pw="kejian",UpdateContext({pw:"bukejian"}),UpdateContext({pw:"kejian"}))
例:
If(
IsBlank(DateValue1),
Notify(
"开始时间不能为空!",
NotificationType.Error
),
IsBlank(DateValue2),
Notify(
"结束时间不能为空!",
NotificationType.Error
),
IsBlank(DataCardValue3.Text),
Notify(
"申请理由不能为空!",
NotificationType.Error
),
DateValue2 < DateValue1 Or ((DateValue2=DateValue1) And (Value(HourValue2.Selected.Value) < Value(HourValue1.Selected.Value))) Or ((DateValue2=DateValue1) And (Value(HourValue2.Selected.Value) = Value(HourValue1.Selected.Value)) And (Value(MinuteValue2.Selected.Value) < Value(MinuteValue1.Selected.Value))),
Notify(
"结束时间不能小于开始时间!",
NotificationType.Error
),
SubmitForm(Form);
Notify(
"已提交申请,正在审批中!",
NotificationType.Success
);
NewForm(Form);
);
Notify 函数在屏幕顶部向用户显示横幅消息。 通知将一直保留到用户消除它或超时到期(默认为 10 秒)。
例:Notify( "Hello, World", NotificationType.Warning, 4000 )
NewForm 函数将 Form 控件的模式更改为 FormMode.New。 在此模式下, Form 控件的 Item 属性的内容会被忽略,而使用窗体的 DataSource 属性的默认值来填充窗体。 如果在窗体处于此模式下时运行 SubmitForm 函数,则将创建(而非更改)记录。
例:NewForm(Form);
在 Button 控件的 OnSelect 属性中使用 SubmitForm 函数可将 Form 控件中的任何更改保存到数据源。
例:SubmitForm(Form);
Navigate 函数可用于更改所显示的屏幕。
例:Navigate(Screen4,ScreenTransition.CoverRight)
ScreenTransition.Cover | 新屏幕将滑入视图,从右向左移动,覆盖当前屏幕。 |
ScreenTransition.CoverRight | 新屏幕将滑入视图,从左向右移动,覆盖当前屏幕。 |
ScreenTransition.Fade | 当前屏幕淡出以显示新屏幕。 |
ScreenTransition.None(默认) | 新屏幕将快速替换当前屏幕。 |
ScreenTransition.UnCover | 盖当屏幕将滑出视图,从右向左移动,呈现新屏幕。 |
ScreenTransition.UnCoverRight | 盖当屏幕将滑出视图,从左向右移动,呈现新屏幕。 |
可以使用 Navigate 创建或更新新屏幕的上下文变量。 第三个参数是可选的,它可用于传递一条记录,其中包含上下文变量名称(以列名称的形式)和上下文变量的新值。 这条记录就是用于 UpdateContext 函数的记录。
例:Navigate(Screen4,ScreenTransition.Fade,{uid:LookUp(用户表zy,账号=TextInput1.Text).ID});
Refresh 函数检索数据源的新副本。 这样您就可以看到其他用户进行的更改。
例:Refresh(请假申请表zy)
使用 Set 函数设置全局变量的值,全局变量可用于应用的所有屏幕。
例:Set(uid,LookUp(用户表zy,账号 = TextInput1.Text).ID);
使用 UpdateContext 函数创建上下文变量,上下文变量的作用域限于一个屏幕。
例:UpdateContext({loginlog: true});
Reset 函数将控件重置为其 Default 属性值。 将放弃任何用户更改。
例:Reset(TextInput1);
使用 Remove 函数从数据源中删除特定的一个或多个记录。
例:Remove(用户表zy,ThisItem)
使用 UpdateIf 函数可以在一个或多个记录中修改一个或多个值,而这些记录则与一个或多个条件匹配。
例:UpdateIf(用户表zy,ID=updateid,{用户姓名:DataCardValue22.Text,账号:DataCardValue23.Text,密码:DataCardValue24.Text,权限:Dropdown2.Selected,邮箱:DataCardValue26.Text});
If(LookUp(用户表zy,ID=uid).权限.Value="审批人",DisplayMode.Edit,DisplayMode.Disabled)
通过if判断可以设置控件的displaymode属性进行启用与禁用
Dropdown3.Selected.Value
selected可以获取下拉框中选中的对象,value获取对象的值