Foxtable(狐表)用户栏目专家坐堂 → 有条件的锁定行


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

主题:有条件的锁定行

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
有条件的锁定行  发帖心情 Post By:2015/4/30 14:29:00 [只看该作者]

If e.DataRow.isnull("name")=False AndAlso e.DataRow.isnull("cord")=False Then

'If e.DataCol.Name = "cord" Then '如果内容发生变动的是产品列
       Dim dr As DataRow
        dr = DataTables("product").Find("[cord] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
             CurrentTable.current.locked =True
            e.DataRow("name") = dr("name")
            e.DataRow("markprice") = dr("markprice") 
Else

红色的地方是这样的
如果 有相同的 
 e.DataRow("name") = dr("name")
 e.DataRow("markprice") = dr("markprice")
这两个列禁止输入内容 

上面的代码好像不对
帮忙看看吧 谢谢

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/30 14:30:00 [只看该作者]

禁止输入内容应该在 PrepareEdit 处理 不明白你的意思是什么.

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2015/4/30 14:48:00 [只看该作者]

If e.DataRow.isnull("name")=False AndAlso e.DataRow.isnull("cord")=False Then

'If e.DataCol.Name = "cord" Then '如果内容发生变动的是产品列
       Dim dr As DataRow
        dr = DataTables("product").Find("[cord] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
           
            e.DataRow("name") = dr("name")
            e.DataRow("markprice") = dr("markprice") 


我的意思是如果满足
 dr = DataTables("product").Find("[cord] = '" & e.NewValue & "'")
这个条件 就禁止输入和修改  name 和 markprice 的内容

else 可以输入


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/30 14:49:00 [只看该作者]

If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
           
            e.DataRow("name") = dr("name")
            e.DataRow("markprice") = dr("markprice") 
else
   e.DataRow("name") = nothing
            e.DataRow("markprice") = nothing
end if

这个意思?

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2015/4/30 14:53:00 [只看该作者]

If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
                          

      e.DataRow("name") = 禁止输入
            e.DataRow("markprice") = 禁止输入
           

 e.DataRow("name") = dr("name")
            e.DataRow("markprice") = dr("markprice") 


else
   其他
end if

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/30 14:54:00 [只看该作者]

不明白你想表达什么, 禁止输入请到PrepareEdit 处理 参考帮助  http://www.foxtable.com/help/topics/0605.htm

 回到顶部