本帖最后由 luolanqiang 于 2019-11-16 12:27 编辑
老规矩,在这里使用了一些JavaScript ,大家注意查阅JavaScript API的索引,很有用处,而且也不需要过于专业的水准就能看懂一部分,我也是试出来的。
https://help.grapecity.com.cn/pa ... ion?pageId=23594302
注册用户并指定自定义属性及角色的方法:
至于注册用户和指定自定义属性,官方已经发布过几次了,不再赘述,其实指定角色的方法是一样的,通过JS搞定,代码如下:
- //获取当前页面
- var page = Forguncy.Page;
- //获取当前页面上的用户单元格
- var cell = page.getCell("username");
- //获取此单元格的值
- var cellValue1 = cell.getValue();
- //获取当前页面
- var page = Forguncy.Page;
- //获取当前页面上的用户单元格
- var cell = page.getCell("roleName");
- //获取此单元格的值
- var cellValue2 = cell.getValue();
- //将指定的用户添加到指定的组
- Forguncy.addUserToRole(
- //指定用户
- (cellValue1),
- //指定组
- (cellValue2),
- //添加成功时弹出警告框,显示添加成功
- function () {
- },
- //添加失败时弹出警告框,显示失败信息
- function (error) {
- alert(error)
- }
- );
复制代码 关键在于,要将角色所在的单元格命名为roleName,在这里首先是获取了两个单元格的值,分别为roleName和username,就是用户名和角色,然后指定这个用户名的角色,当然也可以调用API删除用户的角色,但这个实例上并没有整合进去,有需要的话可以整合。
那么将用户注册和角色指定的代码合并起来就是这样的:- var p = Forguncy.Page;
- var data = {
- account: p.getCell("username").getValue(),
- password: p.getCell("password").getValue(),
- nicheng: p.getCell("nicheng").getValue(),
- mail: p.getCell("email").getValue(),
- exPropertyName1: p.getCell("exPropertyName1").getValue(),
- exPropertyValue1: p.getCell("exPropertyValue1").getValue(),
- exPropertyName2: p.getCell("exPropertyName2").getValue(),
- exPropertyValue2: p.getCell("exPropertyValue2").getValue(),
- exPropertyName3: p.getCell("exPropertyName3").getValue(),
- exPropertyValue3: p.getCell("exPropertyValue3").getValue()
- };
- var result = false;
- Forguncy.Common.forguncyPostSync("customapi/myregisteapi/adduser", data, function (e) {
- if (e === "注册成功!") {
- result = true;
- }
- if (e) {
- alert(e);
- }
- });
- //获取当前页面
- var page = Forguncy.Page;
- //获取当前页面上的用户单元格
- var cell = page.getCell("username");
- //获取此单元格的值
- var cellValue1 = cell.getValue();
- //获取当前页面
- var page = Forguncy.Page;
- //获取当前页面上的用户单元格
- var cell = page.getCell("roleName");
- //获取此单元格的值
- var cellValue2 = cell.getValue();
- //将指定的用户添加到指定的组
- Forguncy.addUserToRole(
- //指定用户
- (cellValue1),
- //指定组
- (cellValue2),
- //添加成功时弹出警告框,显示添加成功
- function () {
- },
- //添加失败时弹出警告框,显示失败信息
- function (error) {
- alert(error)
- }
- );
复制代码 至于它后边跟的这个JS:
- //获取当前页面
- var page = Forguncy.Page;
- //获取页面上的表格
- var listview = page.getListView("表格1");
- //重新从数据库加载数据
- listview.reload();
复制代码 作用是刷新页面上的用户信息视图,就能看到新注册成功的用户加载到页面中,因为我们的页面上还有删除用户的功能:
请注意下边的那个加载了选定用户名的单元格要命名为name
删除用户的代码:
- //获取当前页面
- var page = Forguncy.Page;
- //获取当前页面上名称为name的单元格
- var cell = page.getCell("name");
- //获取此单元格的值
- var cellValue = cell.getValue();
- //将指定的用户删除
- Forguncy.deleteUser(
- //指定用户
- (cellValue),
- //删除成功时弹出警告框,显示删除成功
- function () {
- alert("删除成功。")
- },
- //删除失败时弹出警告框,显示失败信息
- function (error) {
- alert(error)
- }
- );
复制代码 同样的,后边跟一个刷新用户信息视图表格的代码,所见即所得。
具体看工程文件。
请注意注册用户需要上传一个DLL文件,请解压后使用,见附件。
|
|