If forms("变更申请").opened Then
If e.Col.Name <> "BGID" And e.Col.name <> "变更状态" Then
Dim dr As DataRow = DataTables("变更前").SQLFind("_Identify = '" & e.Row("BGID") & "'")
If dr IsNot Nothing Then
If e.Row(e.Col.name) <> dr(e.Col.name) Then
e.style = "红"
End If
End If
End If
End If
我现在用的是上面的代码 写在变更后这张表的drawcell里 有时候可以变色 有时候不行,需要如何修改,初始两张表都只加载30行数据
如果要做比较,建议把要比较的数据都加载出来,这种在drawcell事件里做后台查询,效率是非常低的,可能会导致项目很卡。
因为drawcell执行非常频繁的,一行可能1秒就刷新N次,严重的时候如果所有可见行一起不停刷新,会导致短时间内有大量查询后台的操作。
用空间换时间,把要变色的栏目在表里面的一列里面写上数据,然后根据这列进行判断后再变颜色。