Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
我新加一个订单的时候在状态列显示一个 “新加 New”
下面这段代码 在数据多的时候重置订单加入时间列 的时候很慢。 怎样优化代码 ?
''新订单显示
If e.DataCol.Name = "订单加入时间" Then
Dim t As Integer
Dim j As Date = e.DataRow("订单加入时间")
t = ( Date.Today - j).TotalDays
If t < 2 Then
e.DataRow("状态")= "新加 New"
Else If e.DataRow("状态")= "新加 New"
e.DataRow("状态")= Nothing
End If
End If
嗯 不是这段代码的问题是 另外一段的问题 狐爸 看下能解决吗?
有8个表要同步显示 状态的内容 所以当重置订单加入日期列的时候 状态列发生了变化 执行下面这段代码的时候影响了速度..
If e.DataCol.Name = "状态"
Dim Filter As String = "[编号] = '" & e.DataRow("编号") & "'"
Dim drs As List(Of DataRow) = DataTables("A").Select(Filter)
Dim drs1 As List(Of DataRow) = DataTables("B").Select(Filter)
Dim drs2 As List(Of DataRow) = DataTables("C").Select(Filter)
Dim drs3 As List(Of DataRow) = DataTables("D").Select(Filter)
Dim drs4 As List(Of DataRow) = DataTables("E").Select(Filter)
Dim drs5 As List(Of DataRow) = DataTables("F").Select(Filter)
Dim drs6 As List(Of DataRow) = DataTables("G").Select(Filter)
Dim drs7 As List(Of DataRow) = DataTables("H").Select(Filter)
Dim drs8 As List(Of DataRow) = DataTables("I").Select(Filter)
For Each dr As DataRow In drs
dr("状态") = e.DataRow("状态")
Next
For Each dr1 As DataRow In drs1
dr1("状态") = e.DataRow("状态")
Next
For Each dr2 As DataRow In drs2
dr2("状态") = e.DataRow("状态")
Next
For Each dr3 As DataRow In drs3
dr3("状态") = e.DataRow("状态")
Next
For Each dr4 As DataRow In drs4
dr4("状态") = e.DataRow("状态")
Next
For Each dr5 As DataRow In drs5
dr5("状态") = e.DataRow("状态")
Next
For Each dr6 As DataRow In drs6
dr6("状态") = e.DataRow("状态")
Next
For Each dr7 As DataRow In drs7
dr7("状态") = e.DataRow("状态")
Next
For Each dr8 As DataRow In drs8
dr8("状态") = e.DataRow("状态")
Next
End If
1、这是肯定慢的,特别是重置的时候,这些表不能通过关联和表达式来引用吗?
2、用ReplcaeFor方法吧,代码简洁点,速度不见得会提升。
用关联表达式不适用 应为状态这列还要显示其他信息 比如说订单 加急 暂停 .... 要在每一个表都可以修改的 如果用关联表达式 只能在主表修改不适用。 每个人只负责自己的部分 所以不是所以的人都可以看的到主表
我要的就是 每个表信息同步 并且可以修改 修改后所有的表跟着更新。