你用的是菜单中的重置按钮吗,按道里不会这样的,因为菜单的重置是针对所有行的。
另外你的代码,为啥两个 If e.DataCol.Name = "工序编号" Then ?
通常应该这样:
If e.DataCol.Name = "工序编号" Then
Dim dys As List(Of String) = DataTables("工序单价表").GetUniqueValues("","工序编号")
For Each dy As String In dys
dim n as integer = 0
Dim drs As List(Of DataRow)
drs = DataTables("工序单价表").Select("[工序编号] = '" & dy & "'")
For Each dr As Datarow In drs
n = n + 1
dr("规格次序") =Format(n,"000")
Next
next
if e.dataRow.IsNull("工序编号")
e.dataRow("规格次序") = ""
end if
e.DataRow("工序规格码")=e.DataRow("工序编号") + e.DataRow("规格次序")
End If
当然这不影响计算的,只是不规范。