肯定不合理,drawcell是重复不断的执行的。不要重复用SqlGetValues
你可以用一个变量记录ls,在需要重新获取的地方执行sqlGetValues(比如CurrentChanged事件),然后在drawcell直接判断
public ls as List(Of String)
------------------
ls = DataTables("生产计划通知单").SQLGetValues("生产计划编号" , "[通知类型] = '" & t.Current("通知类型") & "'")
---------------------------
If ls.Contains(e.Row("生产计划编号")) Then e.style = "样式2"End If