DrawCell 中
Case "白度"
If e.Col.name = "白度" Then '如果编辑的是白度列
If e.Row.IsNull("白度") = False Then '如果编辑的白度列不是空的
Dim dx = DataTables("产品标准").Find("配方名称 = '" & e.Row("配方名称") & "'") '查找产品标准表中配方名称列对应编辑表的配方名称列
If dx IsNot Nothing Then ' 如果不是什么东西都没有,即找到对应名称
If val(e.Row("白度")) < val(dx("白度_最低值")) OrElse val(e.Row("白度")) > val(dx("白度_最高值")) Then ' 同时如果输入的数值比标准低或高
e.Table.DataTable.AddUserStyle("不合格", Color.red, Color.black) ' 定义不合格的格式
e.Style = "不合格" ' 编辑数据为不合格格式显示
Else ' 反之
e.Table.DataTable.AddUserStyle("合格", Color.LawnGreen, Color.black) ' 定义合格的格式
e.Style = "合格" ' 编辑数据为合格格式显示
End If
End If
End If
End If
我上边的代码和备注有没有理解错误?如果我要加入内容“查找产品标准表中配方名称列对应编辑表的配方名称列,如果找到对应,同时“白度_最低值”列 为空,那么显示格式为“不需要格式”显示”,要怎么加代码进去?我改成下面的代码,不行,求助,谢谢。
Case "白度"
If e.Col.name = "白度" Then
If e.Row.IsNull("白度") = False Then
Dim dx = DataTables("产品标准").Find("配方名称 = '" & e.Row("配方名称") & "'")
If dx IsNot Nothing Then
If dx.IsNull("白度_最低值") Then
e.Table.DataTable.AddUserStyle("不需要", Color.black, Color.black)
e.Style = "不需要"
If val(e.Row("白度")) < val(dx("白度_最低值")) OrElse val(e.Row("白度")) > val(dx("白度_最高值")) Then
e.Table.DataTable.AddUserStyle("不合格", Color.red, Color.black)
e.Style = "不合格"
Else ' 反之
e.Table.DataTable.AddUserStyle("合格", Color.LawnGreen, Color.black)
e.Style = "合格"
End If
End If
End If
End If
End If