以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  信息提示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122922)

--  作者:13775189031
--  发布时间:2018/8/4 16:52:00
--  信息提示

动态错误提示事例:

AfterEdit事件中设置代码:

If e.Col.name = "折扣" Then
If e.Row("折扣") > 0.2 Then
e.Row.DataRow.SetError("折扣", "折扣不能超过0.2!")
Else
e.Row.DataRow.SetError("折扣","")
End
If

End
If

这样用户输入超过0.2的折扣后,会在折扣单元格显示一个红色的图标,表示这里输入的内容有误,当鼠标移到这个红色图标上时,会显示具体的错误信息:

图片点击可在新窗口打开查看



能够利用类似代码,实现单元格修改提示

希望实现某预算清单审批后但需要修改时,对于经过修改的单元格显示红色图标,标识这里的内容进行了修改,当鼠标移到这个红色图标上时,会显示具体信息,如修改前的内容、修改人、修改日期


没有经过审批的预算清单进行修改时则不显示修改记录。


--  作者:有点蓝
--  发布时间:2018/8/4 17:09:00
--  
增加一个备注列,在datacolchanged事件,当当前行审批列为true,把修改前的数据保存到备注列中

drawcell事件里判断当前行审批列为true,并且备注列有值,就设置单元格颜色:http://www.foxtable.com/webhelp/scr/0656.htm


--  作者:13775189031
--  发布时间:2018/8/6 9:46:00
--  
那岂不是每一列都要增加一个备注列,因为预算清单中很多列都可能被修改啊!
--  作者:有点甜
--  发布时间:2018/8/6 9:54:00
--  
以下是引用13775189031在2018/8/6 9:46:00的发言:
那岂不是每一列都要增加一个备注列,因为预算清单中很多列都可能被修改啊!

 

1、如果加入多列,写代码会方便很多;

 

2、你也可以把所有信息存放在一个备注列里面,字符做好分割,如 备注1|备注2|备注3

 

 


--  作者:有点甜
--  发布时间:2018/8/6 9:59:00
--  

或者,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=95391&authorid=0&page=0&star=1

 


--  作者:13775189031
--  发布时间:2018/8/6 10:56:00
--  

或者,参考

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=95391&authorid=0&page=0&star=1


下载下来的文件打开时显示试用版,但还是显示要激活码?我的试用版已过期,现在用的是开发版



--  作者:有点甜
--  发布时间:2018/8/6 11:01:00
--  
以下是引用13775189031在2018/8/6 10:56:00的发言:



下载下来的文件打开时显示试用版,但还是显示要激活码?我的试用版已过期,现在用的是开发版


 

去下载一个商业版(在下载开发版的地方),安装即可。


--  作者:13775189031
--  发布时间:2018/8/6 16:02:00
--  

datacolchanged

Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "审批状态"
        If dr1("审批状态") = False Then
            dr1("物资名称更改记录") = Nothing
        Else
            dr1("物资名称更改记录") = dr("物资名称")
        End If
End Select

 

"物资名称更改记录"不显示结果,是什么原因?

 

 


--  作者:13775189031
--  发布时间:2018/8/6 16:39:00
--  

MouseEnterCell事件

If e.Col.Name = "物资名称" AndAlso e.Row.IsNull("物资名称更改记录") = False Then
 Dim v As String = "修改前:" & e.Row("物资名称更改记录")
     v = v & vbcrlf & "修改时间:" &  Date.today
     v = v & vbcrlf & "修改人:" &  User.Name
         e.Table.ShowToolTip(v, e.Row, e.Col)
    End If

 

我是想让“物资名称更改记录”在没有修改的情况下为空,“物资名称”有修改的情况下,“物资名称更改记录”保存修改前的记录!


--  作者:有点甜
--  发布时间:2018/8/6 17:02:00
--  
以下是引用13775189031在2018/8/6 16:02:00的发言:

datacolchanged

Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "审批状态"
        If dr1("审批状态") = False Then
            dr1("物资名称更改记录") = Nothing
        Else
            dr1("物资名称更改记录") = dr("物资名称")
        End If
End Select

 

"物资名称更改记录"不显示结果,是什么原因?

 

 

 

加入msgbox,看能否弹出对应的值,是否进入执行了代码。