Foxtable(狐表)用户栏目专家坐堂 → [求助]


  共有2490人关注过本帖树形打印复制链接

主题:[求助]

帅哥哟,离线,有人找我吗?
liujywwy
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
[求助]  发帖心情 Post By:2014/8/28 17:36:00 [只看该作者]

点击了修改,name列和新负责人邮箱也是可以编辑的。

我想做的是除zhouyinhe@bdcom.com.cn 这个账号外,其他人只能修改除name和新负责人邮箱的列,name和新负责人邮箱是不可以修改的。


图片点击可在新窗口打开查看此主题相关图片如下:修改.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/28 17:39:00 [只看该作者]

 1、你可以在prepareEdit事件加入限制的代码;

 

 2、如果修改按钮点击后,是弹出一个窗口,你可以控制这个窗口的控件是否能被编辑。


 回到顶部
帅哥哟,离线,有人找我吗?
liujywwy
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/8/29 11:16:00 [只看该作者]

以下是引用有点甜在2014-8-28 17:39:00的发言:

 1、你可以在prepareEdit事件加入限制的代码;

 

 2、如果修改按钮点击后,是弹出一个窗口,你可以控制这个窗口的控件是否能被编辑。

prepareEdit代码如下:结果就是角色为非审核的人员,他是name和新负责人邮箱是不可以改的。但是呢,不用点击修改按钮,就可以直接编辑“手机号码”,“QQ”,“地方平台”。

请问怎么改一下代码,只有点击了修改才可以编辑除name和新负责人邮箱的列。

另外上传的主题改怎么改,主题现在是空的。

If User.IsRole("审核") Then
    e.Form.Controls("新增").Enabled = True
Else
    e.Form.Controls("新增").Enabled = False
    If e.Col.name <> "手机号码" AndAlso e.Col.name <> "QQ" AndAlso e.Col.name <> "地方平台"
        e.cancel=True
    End If
End If

[此贴子已经被作者于2014-8-29 11:17:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/29 11:21:00 [只看该作者]

点击修改的时候 vars("状态") = "修改"

 

If vars("状态") Is Nothing OrElse vars("状态") <> "修改" AndAlso e.Col.name <> "手机号码" AndAlso e.Col.name <> "QQ" AndAlso e.Col.name <> "地方平台"
    e.cancel=True
End If


 回到顶部
帅哥哟,离线,有人找我吗?
liujywwy
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/8/29 11:38:00 [只看该作者]

以下是引用有点甜在2014-8-29 11:21:00的发言:

点击修改的时候 vars("状态") = "修改"

 

If vars("状态") Is Nothing OrElse vars("状态") <> "修改" AndAlso e.Col.name <> "手机号码" AndAlso e.Col.name <> "QQ" AndAlso e.Col.name <> "地方平台"
    e.cancel=True
End If

好像报错了如下。另外点击了修改,状态列好像也没改为修改。

.NET Framework 版本:2.0.50727.8009
Foxtable 版本:2014.8.24.1
错误所在事件:表,技术支持信息表,PrepareEdit
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。
修改按钮的代码如下:

prepareedit代码如下:

If User.IsRole("审核") Then
    e.Form.Controls("新增").Enabled = True
Else
    e.Form.Controls("新增").Enabled = False
    If vars("状态") Is Nothing OrElse vars("状态") <> "修改" AndAlso e.Col.name <> "手机号码" AndAlso e.Col.name <> "QQ" AndAlso e.Col.name <> "地方平台"
        e.cancel=True
    End If   
End If

修改按钮代码如下:

Dim r As Row = Tables("技术支持信息表").Current

r.locked = False

vars("状态") = "修改"

DataTables.save()


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/29 11:44:00 [只看该作者]

 你有状态列?那就好办。

 

If User.IsRole("审核") Then
    e.Form.Controls("新增").Enabled = True
Else
    e.Form.Controls("新增").Enabled = False
    If e.Row("状态") <> "修改" AndAlso e.Col.name <> "手机号码" AndAlso e.Col.name <> "QQ" AndAlso e.Col.name <> "地方平台"
        e.cancel=True
    End If   
End If

 

--------------

 

Dim r As Row = Tables("技术支持信息表").Current

r.locked = False

r("状态") = "修改"


 回到顶部