Foxtable(狐表)用户栏目专家坐堂 → [求助]关于类似一个权限控制的需求


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

主题:[求助]关于类似一个权限控制的需求

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/31 8:45:00 [显示全部帖子]

呵呵,很有意思的问题,可以小考一下逻辑能力。

下面的代码放在PrepareEdit事件, "第一列","第二列","第三列","第四列"这四列,如果后一列输入了内容,则前面所有列不能输入内容。

 Select Case e.Col.Name
    Case "第一列","第二列","第三列","第四列"
        Dim Ary() As String = New String (){ "第一列","第二列","第三列","第四列"}
        For i As Integer = Ary.Length - 1 To 0 Step - 1
            If Ary(i) = e.Col.Name Then
                Exit For
            ElseIf e.Row.IsNull(ary(i)) = False Then
                e.Cancel = True
                Exit For
            End If        
        Next
End Select
[此贴子已经被作者于2010-5-31 8:50:13编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/31 9:16:00 [显示全部帖子]

 如果按行更简单,例如要对第一列进行类似的设置:

if e.Col.Name = "第一列" Then
    If e.Table.FindRow("第一列 Is Not Null",e.Table.Position + 1,False) > 0  Then
        e.Cancel = True
    End If
End If

这样某行第一列输入了内容,那么之前所有行的第一列都不能输入内容

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/31 10:36:00 [显示全部帖子]

 那就是用2楼的代码

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/31 10:42:00 [显示全部帖子]

 也可以用序号的,你仔细想想,自己写一下。

 回到顶部