以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  老师,请问这个代码可以简化吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61337)

--  作者:youngk
--  发布时间:2014/12/11 7:59:00
--  老师,请问这个代码可以简化吗?

车号信息记录_DrawCell

 Select e.Col.name

    Case "车号"

        Dim dr0 As DataRow

        Dim Date0 As Date = e.Row("日期")

        dr0 = DataTables("车号信息记录").find("[_identify] <>" & e.Row("_identify"& " and 车号 = \'" & e.Row("车号"& "\'and 进出库分类 = \'" & e.Row("进出库分类"& "\' And 日期 >= # " & date0.addhours(-16& "#And 日期 <= # " & date0.addhours(16& "#")

        If dr0 IsNot Nothing Then

            e.style = "车号重复"

        End  If

End Select

<!--EndFragment-->
--  作者:Bin
--  发布时间:2014/12/11 8:01:00
--  
这已经是最简化了.
--  作者:youngk
--  发布时间:2014/12/11 8:28:00
--  

对drawcell来说 还是太繁琐了 影响使用 会暂停执行的

 

 


--  作者:rjh4078
--  发布时间:2014/12/11 8:55:00
--  
做个函数和全局变量 往drawcell里传递变量就好了
--  作者:Bin
--  发布时间:2014/12/11 9:02:00
--  
那你就要换个方式来做.  加一个表示列.用于DrawCell判断  直接判断标识列的值即可.

这个值,再从DataColChanged事件中利用FInd 也就是你原来的查找代码,判断为 表示列赋值