Foxtable(狐表)用户栏目专家坐堂 → 我在click加了授权代码,明细表(子表)就不能编辑,请问怎么才能让明细表能够编辑?


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

主题:我在click加了授权代码,明细表(子表)就不能编辑,请问怎么才能让明细表能够编辑?

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


加好友 发短信
等级:二尾狐 帖子:529 积分:3605 威望:0 精华:0 注册:2011/10/11 17:20:00
我在click加了授权代码,明细表(子表)就不能编辑,请问怎么才能让明细表能够编辑?  发帖心情 Post By:2012/6/25 14:11:00 [只看该作者]

材料出库单 表 是父表;材料出库单明细 表 是子表  我建了一个“新增”入库单 的窗口,"新增"按钮的click事件的代码是:

If Functions.Execute("ShouQuan","A-材料出库单","2-创建")   Then
    Tables("材料出库单").AddNew()
    Forms("材料出库单").Open()
Else
    Messagebox.Show("对不起,你没有操作权限")
End If

 

结果 在 “新增”入库单 的窗口里 明细表(子表)可以新增行 可是就是不能添加数据、不能编辑。请问如何调整代码,怎么让窗口中的明细表(子表)能够编辑(添加数据)?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/25 14:13:00 [只看该作者]

这得看你编辑授权的代码是什么了。

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


加好友 发短信
等级:二尾狐 帖子:529 积分:3605 威望:0 精华:0 注册:2011/10/11 17:20:00
  发帖心情 Post By:2012/6/25 14:26:00 [只看该作者]

授权函数名为ShouQuan,代码为:

If User.Type <> UserTypeEnum.User Then ' 如果是开发者或者管理员
   
Return True '则具备所有权限
End
If
Dim
dt As DataTable = DataTables("授权")
Dim
dr As DataRow
'首先判断分组的授权用户是否包括此用户或此用户所属的分组

dr = dt.Find(
"分组 = '" & args(0) & "' And 权限 Is Null" )
If
dr Is Nothing Then
    MessageBox.show(
"不存在名为""" & args(0) & "分组!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
False
End
If
If
dr.IsNull("用户") = False Then
    Dim
nms() As String = dr("用户").Split(",")
    For
Each nm As String In nms
        If
nm = User.Group OrElse nm = User.Name Then '如果授权用户包括登录用户所属的分组或其用户名
           
Return True '返回True
       
End If
    Next
End
If
'然后判断权限的授权用户是否包括此用户或此用户所属的分组

If
Args(1) = "" Then
    Return
False
End
If
dr = dt.Find(
"分组 = '" & args(0) & "' And 权限 = '" & args(1) & "'")
If
dr Is Nothing Then
    MessageBox.show(
"不存在名为""" & args(1) & "权限!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
False
End
If
If
dr.IsNull("用户") = False Then
    Dim
nms() As String = dr("用户").Split(",")
   
For Each nm As String In nms
        If
nm = User.Group OrElse nm = User.Name Then '如果授权用户包括登录用户所属的分组或其用户名
           
Return True '返回True
       
End If

    Next
End If
Return False

狐狸爸爸,请问 这个代码 该怎么改,让相关的关联表也有编辑权限


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


加好友 发短信
等级:二尾狐 帖子:529 积分:3605 威望:0 精华:0 注册:2011/10/11 17:20:00
  发帖心情 Post By:2012/6/25 14:28:00 [只看该作者]

我的代码 都是按照

目录树形式的授权

 的帮助中的这一章节中的代码做的 请问 狐狸爸爸 该怎么调整代码 让关联表也有编辑权限

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


加好友 发短信
等级:二尾狐 帖子:529 积分:3605 威望:0 精华:0 注册:2011/10/11 17:20:00
  发帖心情 Post By:2012/6/25 15:21:00 [只看该作者]

增加权限按钮的代码:

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim
pd As WinForm.TreeNode = trv.SelectedNode
trv.
Select()
If
pd.Level = 1 Then
    pd = pd.ParentNode

End
If
Dim
i As Integer
Do

    i = i+
1
   
Dim nm As String = "权限" & i
    If
pd.Nodes.Contains(nm) = False
        Dim
nd As WinForm.TreeNode = pd.Nodes.Add(nm)
        Dim
dr As DataRow = DataTables("授权").AddNew()
        dr(
"分组") = pd.name
        dr(
"权限") = nm
        trv.SelectedNode = nd
        trv.BeginEdit

        Exit
Do
    End
If
Loop

目录树形式的授权中的增加权限的这段代码 该如何修改才能使一张表的关联表(子表)也编辑权限

 


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


加好友 发短信
等级:二尾狐 帖子:529 积分:3605 威望:0 精华:0 注册:2011/10/11 17:20:00
  发帖心情 Post By:2012/6/25 15:27:00 [只看该作者]

狐狸爸爸 帮我看一下啊

 


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


加好友 发短信
等级:二尾狐 帖子:529 积分:3605 威望:0 精华:0 注册:2011/10/11 17:20:00
  发帖心情 Post By:2012/6/25 15:42:00 [只看该作者]

狐狸爸爸 我的问题 弄 啊?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/25 16:06:00 [只看该作者]

贴出你的PrePareEdit事件代码。


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


加好友 发短信
等级:二尾狐 帖子:529 积分:3605 威望:0 精华:0 注册:2011/10/11 17:20:00
  发帖心情 Post By:2012/6/25 16:10:00 [只看该作者]

主表的 PrePareEdit事件这有这个代码e.Cancel = True  子表的没有

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/25 16:15:00 [只看该作者]

将这个代码改为:

 

if e.Table.IsRelation  = False Then

     e.Cancel = True

End if


 回到顶部
总数 21 1 2 3 下一页