开发者学堂课程【低代码氚云应用开发课程:氚云丨开发课— 02 一般控件的前后端操作】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/894/detail/14276
氚云丨开发课— 02 一般控件的前后端操作
目录:
一、前后端操作
二、案例
一、前后端操作
第一个函数 GetValue() 获取控件对应的值
//加载事件
Onload:function(){
//var date= this.F0000001.GetValue();
//alart(date);
}
,
测试单行文本
第二个函数 GetText() 获取表面文本
//var date= this.F0000001.GetText();
//alart(date);
测试单行文本,与 Getvalue 取得的值是相同的;差异
关联表单
//var dateText= this.F0000001.GetText();
//Var dateValue= this.F0000001.GetValue();
//alart(dateText);
//alart(dateValue);
},
首先弹出数据标题,然后弹出一串英文乱码,数据标题在数据库内实际上就是那一串英文乱码 ,程序在前端展示为汉字,GetValue 取得控件实际上的值。
第三个函数 SetReadonly() 设置可读权限
//this.F0000001.SetReadonly(true);
单行文本灰掉,不可选取
第四个函数 SetVisible() 设置可见权限
//this.F0000001.SetVisible(false);
不可见要设置为 false 才是对的
//获取人员/部门控件值用 GetUnitlDs
补充注意:下拉框、单选框、多选框清空选项用 Clearltems(),添加选项用 Addltem(value) 子表的 GetCellManager 以后,获得的对象,不能使用 GetText,和 Addltem。
拉一个下拉框,加一个选项,根据不同的角色可以选择不同的选项,可以对下拉框的选项进行动态调整。
//this.F0000001.AddItem(
“
新加进来的”);
后端操作:
控件初始值 注意要写在 Onload 内
在控件设置只读、可见的选项
//this.Request.BizObject[
“
F0000001
”
]=“张三”
//base.Onload(response);
不可编辑
//response.ReturnDate[
“
F0000003
”
].Editable=false;
可见与不可见
//response.ReturnDate[
“
F0000003
”
].Visible=false;
下面这个控件直接被隐藏掉了
注意:
1.设置初始值放 base.Onload 前面
2.设置初始值放 base.Onload 后面
3.多选表单,有多个选项框时,(如部门多选、人员多选)用;隔开。
//this.Request.BizObject[
“
F0000004
”
]=“A;B”;
二、案例分享
1.不同角色看到不同数据
控件编码要记得删除
设置一个金额,具有某一个角色,才能允许查看金额
新建一个角色(角色名称:金额查看)
//1获取当前的人
//this.Request.UserContext.UserId;
这个就是当前的这个人
帮助文档可以查询代码//H3.Orgnization.OrgRole[]roles=This.Request.Engine.Organization.GetUserRoles(This.Request.UserContext.UserId,ture);
foreach(H3.Orgnization.OrgRole item in roles)
{
if (item.Name ==
“
金额查看”)
{
response.ReturnDate[
“
money
”
].Visible=true;
}
else
{
response.ReturnDate[
“
money
”
].Visible=false;
}
response.ReturnDate[
“
F0000003
”
].Visible=flag;
一个人一般不只有一个权限
做一个标识
//bool flag=false;
放到角色下面
//Foreach(H3.Organization.OrgRole item in roles)
{
if(item.Name ==
“
金额查看”)
{
flag = ture
}
}
//response.ReturnDate[
“
money
”
].Visible = flag
金额就出来了,如果把自己删掉,就看不到金额了,还可以设置可写不可写
2. 不同角色能选择不同的下拉选项
下拉框的选项在后端不能进行赋值,必须把值传到前端去,帮助中心内的后端环境参数可以拷贝过来。
没有金额查看权限为一、二、三
response.Message=flag+string.Empty
此时是 false 没有权限,但是前端已经取得值了:
//var flag=$.SmartForm.ResponseContext.Message;
//alert(flag);
先获取角色,看角色里面有没有权限,有就把 Flag 设置为 true 再把这个值通过 response.Message 传到前端来,前端通过$.SmartForm.ResponseContext.Message
拿的 Message 的值
//var flag=$.SmartForm.ResponseContext.Message;
//Debugger;
(调式)点击右键 点击检查 点击新增
设置复选框,加一个权限上去
//If(flag==“False”){
设置前要先清除掉
// This.F00
00004.ClearItem()
//This.F0000004.AddItem(
“
一”);
//This.F0000004.AddItem(
“
二”);
//This.F0000004.AddItem(
“
三”);
}
开发时需要注意:
如果我设置某个字段为不可写,然后我用代码设置了值,它实际上是不会保存到数据库里面去的,必须手动把 PostValue 里面的值赋到 this.Request.BizObject 里面去。
把单行文本设置为不可写,那么用代码的形式强制设置一个值上去
//this.F0000001.SetValue(
“
你好”);
再把代码拿掉,它不进数据库,数据库没存这个值。
在后端代码里设置一下
//this.Request.BizObject[
“
F0000001
”
]=postValue.Date[
“
F0000001
”
]+string.Empty;
强制赋一遍值,这样就可以把值赋上去了
后端代码:
//Response.Message=flag+string.Empty
最后结果: