请教,
我有个颜色类别表,17行数据,加载数据时,持续时间达30秒。
而这个表,只写了一个 DataColChanged 事件。代码如下,请大神们帮分析下如何优化可提高效率。
Select Case e.DataCol.Name
Case "颜色类别"
Dim fdr As DataRow = DataTables("颜色类别").Find("颜色类别 = '" & e.DataRow("颜色类别") & "' and [_Identify] <> " & e.DataRow("_Identify"))
If fdr IsNot Nothing Then
e.DataRow("类别编码") = fdr("类别编码")
Else
Dim max As String
max = e.DataTable.Compute("Max(类别编码)","[_Identify] < '" & e.DataRow("_Identify") & "'") '取得最大编号
If max > "" Then
e.DataRow("类别编码") = Format(CInt(max) + 1,"00")
Else
e.DataRow("类别编码") = "01"
End If
End If
Case "颜色名称"
Dim fdr As DataRow = DataTables("颜色类别").Find("颜色类别 = '" & e.DataRow("颜色类别") & "' and 颜色名称 = '" & e.DataRow("颜色名称") & "' and [_Identify] <> " & e.DataRow("_Identify"))
If fdr IsNot Nothing Then
e.DataRow("名称编码") = fdr("名称编码")
Else
Dim max As String
max = e.DataTable.Compute("Max(名称编码)","[_Identify] < '" & e.DataRow("_Identify") & "' And 颜色类别 = '" & e.DataRow("颜色类别") & "'") '取得最大编号
If max > "" Then
e.DataRow("名称编码") = Format(CInt(max) + 1,"00")
Else
e.DataRow("名称编码") = "01"
End If
End If
e.DataTable.Save()
End Select
[此贴子已经被作者于2014-5-3 22:12:03编辑过]