以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  字体颜色的调置问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129836)

--  作者:304376480
--  发布时间:2019/1/7 14:52:00
--  字体颜色的调置问题?
老师,您好!

我想在销售表格中输入数字以后,如果数量大于库存就显示红字,但是下面的代码有个问题,就是会在库存变动以后会重新绘制销售表,应该该如何设置?

DrawCell事件中的代码:
If e.Col.name = "数量" Then
    Dim cph As DataRow = DataTables("产品").find("商品ID = \'" & e.Row("商品ID") & "\' And 仓库 = \'" & e.Row("仓库") & "\'")
    If e.Row("数量") > cph("数量") Then
        e.style = "红字"
    End If
End If
[此贴子已经被作者于2019/1/7 14:54:27编辑过]

--  作者:有点甜
--  发布时间:2019/1/7 15:21:00
--  

datacolchanged事件

 

If e.dataCol.name = "数量" orelse e.datacol.name = "商品id" orelse e.datacol.name = "仓库" Then
    Dim cph As DataRow = DataTables("产品").find("商品ID = \'" & e.dataRow("商品ID") & "\' And 仓库 = \'" & e.dataRow("仓库") & "\'")
    If cph Is Nothing Then
        e.datarow("当前库存") = nothing
    Else
        e.datarow("当前库存") = cph("数量")
    End If
End If
 
drawcell事件
 
If e.Col.name = "数量" Then
    If e.Row("数量") > e.datarow("当前库存") Then
        e.style = "红字"
    End If
End If

--  作者:有点甜
--  发布时间:2019/1/7 15:22:00
--  

一般你这种情况,设置error比较好

 

http://www.foxtable.com/webhelp/scr/2682.htm

 

http://www.foxtable.com/webhelp/scr/2685.htm

 

 


--  作者:304376480
--  发布时间:2019/1/7 15:59:00
--  
需要在销售表中增加一个 “当前库存” 列是吗?



--  作者:有点甜
--  发布时间:2019/1/7 16:15:00
--  
以下是引用304376480在2019/1/7 15:59:00的发言:
需要在销售表中增加一个 “当前库存” 列是吗?


 

是的。

 

一般你这种情况,设置error比较好

 

http://www.foxtable.com/webhelp/scr/2682.htm

 

http://www.foxtable.com/webhelp/scr/2685.htm

 


--  作者:304376480
--  发布时间:2019/1/7 16:30:00
--  
好的,甜老师!

Error 有 count 属性吗?就是判断 table 表中存在 Error 的数量大于 0 就不通过!
[此贴子已经被作者于2019/1/7 16:31:01编辑过]

--  作者:有点甜
--  发布时间:2019/1/7 16:40:00
--  
以下是引用304376480在2019/1/7 16:30:00的发言:
好的,甜老师!

Error 有 count 属性吗?就是判断 table 表中存在 Error 的数量大于 0 就不通过!
[此贴子已经被作者于2019/1/7 16:31:01编辑过]

 

没有。你可以用一个全局变量记录error的个数。