Dim dr As DataRow = e.DataRow
Dim d1 = e.DataRow("d1")
Dim d2 = e.DataRow("d2")
Dim db = e.DataRow("db")
Dim dbfs = e.DataRow("dbfs")
Dim mja = e.DataRow("mja")
Dim zhk = e.DataRow("zhk")
Dim fzhk = e.DataRow("fzhk")
Dim G = e.DataRow("G")
Dim Dm = e.DataRow("Dm")
Dim d = e.DataRow("d")
Dim coil = e.DataRow("coil")
Dim gdk = e.DataRow("gdk")
Dim zygd = e.DataRow("zygd")
Dim gzgd = e.DataRow("gzgd")
Dim thysl = e.DataRow("thysl")
Dim thgs = e.DataRow("thgs")
Dim ysb = e.DataRow("ysb")
Dim ps = e.DataRow("ps")
Dim fs = e.DataRow("fs")
Dim wave = e.DataRow("wave")
Dim s = e.DataRow("s")
Dim v = e.DataRow("v")
Dim r = e.DataRow("r")
Dim p = e.DataRow("p")
Dim Pc = e.DataRow("Pc")
Dim vl = e.DataRow("vl")
Select Case e.DataCol.Name
Case "d1", "d2", "db", "dbfs"
If dr.IsNull("db") Then '如果db为空
dr("zhk") = Nothing
Else
e.DataRow("zhk") = (d2^2-db^2)/(d2^2-d1^2)
End If
If dr.IsNull("dbfs") Then '如果dbfs为空
dr("fzhk") = Nothing
Else
e.DataRow("fzhk") = (dbfs^2-d1^2)/(d2^2-d1^2)
End If
End Select
e.DataRow("mja") = (d2^2-d1^2)/4*3.14
e.DataRow("gdk") = G*Dm/(8*(Dm^4/d^4)*coil)
e.DataRow("ysb") = 1-thysl/zygd
e.DataRow("ps") = (gdk*thysl*thgs)/mja
e.DataRow("v") = 3.14*((d2/1000)+(d1/1000))*(s/120)
e.DataRow("pc") = ps+p*(zhk-r)
e.DataRow("vl") = pc*v
e.DataRow("thysl") = zygd-gzgd
e.DataRow("fs") = gdk*thysl*thgs
If e.DataCol.name = "zhk"
e.DataRow("ABCD") = IIF(e.newvalue >= 1,"XS1","XS2")
e.DataRow("zhpd") = IIF(e.DataRow("zhk")>1.5,"过高",iif(e.DataRow("zhk")>= 0.6, "正常","过低"))
End If