以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求教,当状态改变的时候向单元格写入字符的程序怎么写?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126795)

--  作者:hitzfeld
--  发布时间:2018/10/29 14:26:00
--  求教,当状态改变的时候向单元格写入字符的程序怎么写?
很简单的程序,但是怎么搞都搞不好.......

要求:
按钮按下“审核”的时候,把当前行的状态改变为锁定行的时候,向审核字段写入“已审核”,当按钮按下“反审核”的时候,解锁当前行,并在“审核”列写入“反审核”

我尝试了在DataRowLockedChanged中写入e.DataRow("审核") = "已审核"可以审核了,但是按没办法反审核。


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



--  作者:有点甜
--  发布时间:2018/10/29 14:37:00
--  

If e.DataRow("审核") = nothing Then

    e.DataRow("审核") = "已审核"

ElseIf e.DataRow("审核") = "已审核" andalso e.datarow.locked = false Then

    e.DataRow("审核") = "反审核"

ElseIf e.datarow.locked = true andalso e.DataRow("审核") = "反审核" Then

    e.DataRow("审核") = "审核"

End If


--  作者:hitzfeld
--  发布时间:2018/10/30 0:17:00
--  
谢谢甜老师!原来代码这么复杂......我还以为是一句话的事情...........图片点击可在新窗口打开查看
--  作者:hitzfeld
--  发布时间:2018/10/30 0:42:00
--  
以下是引用有点甜在2018/10/29 14:37:00的发言:

If e.DataRow("审核") = nothing Then

    e.DataRow("审核") = "已审核"

ElseIf e.DataRow("审核") = "已审核" andalso e.datarow.locked = false Then

    e.DataRow("审核") = "反审核"

ElseIf e.datarow.locked = true andalso e.DataRow("审核") = "反审核" Then

    e.DataRow("审核") = "审核"

End If


甜老师,代码有错误,如果多点几次,比如先锁定行,再解锁行,再锁定行,审核状态会变成“审核”,然后不管你按解锁还是锁定,再也不会变化了。


--  作者:有点甜
--  发布时间:2018/10/30 10:14:00
--  

呃,代码自行修改一下,比如

 

e.DataRow("审核") = "已审核"


--  作者:hitzfeld
--  发布时间:2018/11/1 21:36:00
--  
以下是引用有点甜在2018/10/30 10:14:00的发言:

呃,代码自行修改一下,比如

 

e.DataRow("审核") = "已审核"


谢谢甜老师!