以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  有条件的锁定行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=67739)

--  作者:jinzhengbe
--  发布时间: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
--  发布时间:2015/4/30 14:30:00
--  
禁止输入内容应该在 PrepareEdit 处理 不明白你的意思是什么.
--  作者:jinzhengbe
--  发布时间: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
--  发布时间: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
--  发布时间: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
--  发布时间:2015/4/30 14:54:00
--  
不明白你想表达什么, 禁止输入请到PrepareEdit 处理 参考帮助  http://www.foxtable.com/help/topics/0605.htm