Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
烦请优化:
If (e.DataCol.name="文化程度" Or e.DataCol.name="等级" Or e.DataCol.name="专业") And e.DataRow("姓名")<>Nothing
With DataTables("人员基本信息表")
.ReplaceFor("文化程度1", 0,"[姓名]<>' '")
.ReplaceFor("文化程度1", 12,"[文化程度] = 'AA'")
.ReplaceFor("文化程度1", 10,"[文化程度] = 'AB'")
.ReplaceFor("文化程度1", 8,"[文化程度] = 'CCC'")
.ReplaceFor("文化程度1", 6,"[文化程度] = 'VF'")
.ReplaceFor("文化程度1", 6,"[文化程度] = 'AK'")
.ReplaceFor("文化程度1", 4,"[文化程度] = 'BK'")
.ReplaceFor("文化程度1", 0,"[文化程度] = 'CZ'")
.ReplaceFor("文化程度1", 0,"[文化程度] = 'XX'")
.ReplaceFor("等级1", 0,"[姓名]<>' '")
.ReplaceFor("等级1", 13,"[等级] = 'A'")
.ReplaceFor("等级1", 10,"[等级] = 'B'")
.ReplaceFor("等级1", 8,"[等级] = 'C'")
.ReplaceFor("等级1", 6,"[等级] = 'D'")
.ReplaceFor("专业1", 0,"[姓名]<>' '")
.ReplaceFor("专业1", 12,"[专业] = 'AA'")
.ReplaceFor("专业1", 10,"[专业] = 'BB'")
.ReplaceFor("专业1", 6,"[专业] = 'CC'")
End With
Dim dr As DataRow=e.DataRow
dr("maxl")=math.max(math.max(dr("专业1"),dr("等级1")),dr("文化程度1"))
End If
慢的原因是?谢谢!
下载信息 [文件大小: 下载次数: ] | |
![]() |
感觉你是怎么慢就怎么来,你这样写,速度比正常速度慢了何止千倍万倍。
下面是正常的代码:
Select Case e.DataCol.Name
Case "文化程度"
Select Case e.NewValue
Case "CZ","XX"
e.DataRow("文化程度1") = 0
Case "AA"
e.DataRow("文化程度1") = 12
Case "AB"
e.DataRow("文化程度1") = 10
Case "CCC"
e.DataRow("文化程度1") = 8
Case "VF" ,"AK"
e.DataRow("文化程度1") = 6
Case "BK"
e.DataRow("文化程度1") = 4
End Select
Case "等级"
Select Case e.NewValue
Case "A"
e.DataRow("等级1") = 13
Case "B"
e.DataRow("等级1") = 10
Case "C"
e.DataRow("等级1") = 8
Case "D"
e.DataRow("等级1") = 6
End Select
Case "专业"
Select Case e.NewValue
Case "AA"
e.DataRow("专业1") = 12
Case "BB"
e.DataRow("专业1") = 10
Case "CC"
e.DataRow("专业1") = 6
End Select
End Select
If (e.DataCol.name="文化程度" Or e.DataCol.name="等级" Or e.DataCol.name="专业") And e.DataRow.IsNull("姓名") = False Then
Dim dr As DataRow = e.DataRow
dr("maxl")=math.max(math.max(dr("专业1"),dr("等级1")),dr("文化程度1"))
End If
建议你细看开发指南中的《编程基础》和《foxtable编程》这两章,当然《使用指南》也必须看透,因为会用是开发的基础。
下载信息 [文件大小: 下载次数: ] | |
![]() |
您的是很快,我当初也用select case就是没您的简化:
If (e.DataCol.name="xl" Or e.DataCol.name="dj" Or e.DataCol.name="zc") And e.DataRow("xm") <> Nothing
Dim dr As String
dr= trim(e.DataRow("xl"))
Dim dj As String
dj= trim(e.DataRow("dj"))
Dim zc As String
zc= trim(e.DataRow("zc"))
Dim pp As DataRow=e.DataRow
Select Case dr
Case "高中"
e.DataRow("xl1")=1
Case "初中"
e.DataRow("xl1")=2
Case Else
e.DataRow("xl1")=0
End Select
Select Case dj
Case "高级"
e.DataRow("dj1")=1
Case "初中"
e.DataRow("dj1")=2
Case Else
e.DataRow("dj1")=0
End Select
Select Case zc
Case "高级"
e.DataRow("zc1")=1
Case "初中"
e.DataRow("zc1")=2
Case Else
e.DataRow("zc1")=0
End Select
pp("maxl") = math.max( math.max(pp("xl1"),pp("dj1")),pp("zc1"))
End If
因记录少,没比较速度,我后面想replacefor 类似于foxpro的replace,就改用了replacefor ,请教速度慢的原因?