'从门窗表跨表引用数据的代码
If e.DataCol.Name = "门窗代号" Then
Dim nm2s() As String = {"区域划分","楼栋代号","窗型图","门窗数量"}
If e.NewValue Is Nothing Then
For Each nm2 As String In nm2s
e.DataRow(nm2) = Nothing
Next
Else
Dim dr22 As DataRow
dr22 = DataTables("门窗表").Find("[门窗代号] = '" & e.NewValue & "'")
If dr22 IsNot Nothing
For Each nm2 As String In nm2s
e.DataRow(nm2) = dr22(nm2)
Next
End If
End If
End If
'设置制动增加行代码
DataTables("门窗玻璃").AllowAddNew=True
'控制显示代码
Select Case e.DataCol.name
Case "门窗代号"
If e.NewValue Is Nothing Then
e.DataRow("宽度分格1") = Nothing
e.DataRow("宽度分格2") = Nothing
e.DataRow("宽度分格3") = Nothing
e.DataRow("宽度分格4") = Nothing
e.DataRow("宽度分格5") = Nothing
e.DataRow("宽度分格6") = Nothing
e.DataRow("宽度分格7") = Nothing
e.DataRow("宽度分格8") = Nothing
e.DataRow("宽度分格9") = Nothing
e.DataRow("宽度分格A") = Nothing
e.DataRow("宽度分格B") = Nothing
e.DataRow("高度分格1") = Nothing
e.DataRow("高度分格2") = Nothing
e.DataRow("高度分格3") = Nothing
e.DataRow("高度分格4") = Nothing
e.DataRow("高度分格5") = Nothing
e.DataRow("高度分格6") = Nothing
e.DataRow("高度分格7") = Nothing
e.DataRow("高度分格8") = Nothing
e.DataRow("高度分格9") = Nothing
e.DataRow("高度分格A") = Nothing
e.DataRow("高度分格B") = Nothing
End If
End Select
'宽度分格代号下拉列表项目--根据行数据进行下拉列表---及自动填充数据代码
'高度分格代号下拉列表项目--根据行数据进行下拉列表---及自动填充数据代码
Select Case e.DataCol.name
Case "宽度分格1"
If e.NewValue Is Nothing Then
e.DataRow("宽度分格2") = Nothing
e.DataRow("宽度分格3") = Nothing
e.DataRow("宽度分格4") = Nothing
e.DataRow("宽度分格5") = Nothing
e.DataRow("宽度分格6") = Nothing
e.DataRow("宽度分格7") = Nothing
e.DataRow("宽度分格8") = Nothing
e.DataRow("宽度分格9") = Nothing
e.DataRow("宽度分格A") = Nothing
e.DataRow("宽度分格B") = Nothing
Else
Dim dr As DataRow
dr = DataTables("门窗信息").find("[门窗代号] = '" & e.DataRow("门窗代号") & "'" )
If dr IsNot Nothing
Dim s As String = e.DataCol.name.trim("1")
Dim s2 As String
Select Case e.NewValue
Case dr("宽度第1分格1")
s2 = "宽度第1分格"
Case dr("宽度第2分格1")
s2 = "宽度第2分格"
Case dr("宽度第3分格1")
s2 = "宽度第3分格"
Case dr("宽度第4分格1")
s2 = "宽度第4分格"
Case dr("宽度第5分格1")
s2 = "宽度第5分格"
Case dr("宽度第6分格1")
s2 = "宽度第6分格"
Case dr("宽度第7分格1")
s2 = "宽度第7分格"
Case dr("宽度第8分格1")
s2 = "宽度第8分格"
Case dr("宽度第9分格1")
s2 = "宽度第9分格"
End Select
e.DataRow(s & "2") = dr(s2 & "2")
e.DataRow(s & "3") = dr(s2 & "3")
e.DataRow(s & "4") = dr(s2 & "4")
e.DataRow(s & "5") = dr(s2 & "5")
e.DataRow(s & "6") = dr(s2 & "6")
e.DataRow(s & "7") = dr(s2 & "7")
e.DataRow(s & "8") = dr(s2 & "8")
e.DataRow(s & "9") = dr(s2 & "9")
e.DataRow(s & "A") = dr(s2 & "A")
e.DataRow(s & "B") = dr(s2 & "B")
End If
End If
Case "高度分格1"
If e.NewValue Is Nothing Then
e.DataRow("高度分格2") = Nothing
e.DataRow("高度分格3") = Nothing
e.DataRow("高度分格4") = Nothing
e.DataRow("高度分格5") = Nothing
e.DataRow("高度分格6") = Nothing
e.DataRow("高度分格7") = Nothing
e.DataRow("高度分格8") = Nothing
e.DataRow("高度分格9") = Nothing
e.DataRow("高度分格A") = Nothing
e.DataRow("高度分格B") = Nothing
Else
Dim dr1 As DataRow
dr1 = DataTables("门窗信息").find("[门窗代号] = '" & e.DataRow("门窗代号") & "'" )
If dr1 IsNot Nothing
Dim T As String = e.DataCol.name.trim("1")
Dim T2 As String
Select Case e.NewValue
Case dr1("高度第一分格1")
T2 = "高度第一分格"
Case dr1("高度第二分格1")
T2 = "高度第二分格"
Case dr1("高度第三分格1")
T2 = "高度第三分格"
Case dr1("高度第四分格1")
T2 = "高度第四分格"
Case dr1("高度第五分格1")
T2 = "高度第五分格"
Case dr1("高度第六分格1")
T2 = "高度第六分格"
Case dr1("高度第七分格1")
T2 = "高度第七分格"
Case dr1("高度第八分格1")
T2 = "高度第八分格"
Case dr1("高度第九分格1")
T2 = "高度第九分格"
End Select
e.DataRow(T & "2") = dr1(T2 & "2")
e.DataRow(T & "3") = dr1(T2 & "3")
e.DataRow(T & "4") = dr1(T2 & "4")
e.DataRow(T & "5") = dr1(T2 & "5")
e.DataRow(T & "6") = dr1(T2 & "6")
e.DataRow(T & "7") = dr1(T2 & "7")
e.DataRow(T & "8") = dr1(T2 & "8")
e.DataRow(T & "9") = dr1(T2 & "9")
e.DataRow(T & "A") = dr1(T2 & "A")
e.DataRow(T & "B") = dr1(T2 & "B")
End If
End If
End Select
'定义引用--参数表中---型材控制参数(型材代号,型材计算参数,型材线密度)--代码,目的是,在各种判断逻辑条件下 为后面型材计算时提供解决方案,后续具备可扩展的功能
Select Case e.DataCol.name
Case "门窗代号"
If e.DataRow("门窗代号") =Nothing Then
e.DataRow("计算参数1")=Nothing '设置边框计算参数显示模式
e.DataRow("计算参数2")=Nothing '设置中挺计算参数显示模式
e.DataRow("计算参数3")=Nothing '设置加强中挺计算参数显示模式
e.DataRow("换向料参数1")=Nothing '设置型材代号显示模式
e.DataRow("换向料参数2")=Nothing '设置计算参数显示模式
e.DataRow("换向料参数3")=Nothing '设置线密度显示模式
e.DataRow("内开扇参数1")=Nothing
e.DataRow("内开扇参数2")=Nothing
e.DataRow("内开扇参数3")=Nothing
e.DataRow("外开扇参数1")=Nothing
e.DataRow("外开扇参数2")=Nothing
e.DataRow("外开扇参数3")=Nothing
e.DataRow("框挺扣条参数1")=Nothing
e.DataRow("框挺扣条参数2")=Nothing
e.DataRow("框挺扣条参数3")=Nothing
e.DataRow("内开扇扣条参数1")=Nothing
e.DataRow("内开扇扣条参数2")=Nothing
e.DataRow("内开扇扣条参数3")=Nothing
e.DataRow("外开扇扣条参数1")=Nothing
e.DataRow("外开扇扣条参数2")=Nothing
e.DataRow("外开扇扣条参数3")=Nothing
e.DataRow("传动条参数1")=Nothing
e.DataRow("传动条参数2")=Nothing
e.DataRow("内开扇角码参数1")=Nothing
e.DataRow("内开扇角码参数2")=Nothing
e.DataRow("内开扇角码参数3")=Nothing
e.DataRow("外开扇角码参数1")=Nothing
e.DataRow("外开扇角码参数2")=Nothing
e.DataRow("外开扇角码参数3")=Nothing
e.DataRow("玻璃间隙")=Nothing
e.DataRow("外开扇搭接")=Nothing
e.DataRow("内开扇搭接")=Nothing
e.DataRow("玻璃种类")=Nothing
e.DataRow("是否钢化")=Nothing
e.DataRow("固定玻璃扣条11")=Nothing
e.DataRow("固定玻璃扣条12")=Nothing
e.DataRow("固定玻璃扣条13")=Nothing
e.DataRow("平开窗合页2")=Nothing
e.DataRow("风撑2")=Nothing
Else
'定义--参数代码---边框,边框角码型材的代号,计算参数,线密度--代码
Dim aa0 As Integer
Dim bb0 As Integer
Dim cc0 As Integer
Dim drr01 As DataRow=DataTables("参数表").Find("[型材名称]='边框'")
aa0=drr01("计算参数")
e.DataRow("计算参数1")=aa0
Dim drr02 As DataRow=DataTables("参数表").Find("[型材名称]='中挺'")
bb0=drr02("计算参数")
e.DataRow("计算参数2")=bb0
Dim drr03 As DataRow=DataTables("参数表").Find("[型材名称]='加强中挺'")
cc0=drr03("计算参数")
e.DataRow("计算参数3")=cc0
'定义--参数代码---换向料的代号,计算参数,线密度--代码
Dim aa1 As String
Dim bb1 As Integer
Dim cc1 As Double
Dim drr1 As DataRow=DataTables("参数表").Find("[型材名称]='换向料'")
aa1=drr1("型材代号")
bb1=drr1("计算参数")
cc1=drr1("线密度")
e.DataRow("换向料参数1")=aa1
e.DataRow("换向料参数2")=bb1
e.DataRow("换向料参数3")=cc1
'定义--参数代码---内开扇的代号,计算参数,线密度--代码
Dim aa2 As String
Dim bb2 As Integer
Dim cc2 As Double
Dim drr2 As DataRow=DataTables("参数表").Find("[型材名称]='内开扇'")
aa2=drr2("型材代号")
bb2=drr2("计算参数")
cc2=drr2("线密度")
e.DataRow("内开扇参数1")=aa2
e.DataRow("内开扇参数2")=bb2
e.DataRow("内开扇参数3")=cc2
'定义--参数代码---外开扇的代号,计算参数,线密度--代码
Dim aa3 As String
Dim bb3 As Integer
Dim cc3 As Double
Dim drr3 As DataRow=DataTables("参数表").Find("[型材名称]='外开扇'")
aa3=drr3("型材代号")
bb3=drr3("计算参数")
cc3=drr3("线密度")
e.DataRow("外开扇参数1")=aa3
e.DataRow("外开扇参数2")=bb3
e.DataRow("外开扇参数3")=cc3
'定义--参数代码---框挺扣条的代号,计算参数,线密度--代码
Dim aa4 As String
Dim bb4 As Integer
Dim cc4 As Double
Dim drr4 As DataRow=DataTables("参数表").Find("[型材名称]='框挺扣条'")
aa4=drr4 ("型材代号")
bb4=drr4 ("计算参数")
cc4=drr4 ("线密度")
e.DataRow("框挺扣条参数1")=aa4
e.DataRow("框挺扣条参数2")=bb4
e.DataRow("框挺扣条参数3")=cc4
'定义--参数代码---内开扇扣条的代号,计算参数,线密度--代码
Dim aa5 As String
Dim bb5 As Integer
Dim cc5 As Double
Dim drr5 As DataRow=DataTables("参数表").Find("[型材名称]='内开扇扣条'")
aa5=drr5("型材代号")
bb5=drr5("计算参数")
cc5=drr5("线密度")
e.DataRow("内开扇扣条参数1")=aa5
e.DataRow("内开扇扣条参数2")=bb5
e.DataRow("内开扇扣条参数3")=cc5
'定义--参数代码---外开扇扣条的代号,计算参数,线密度--代码
Dim aa6 As String
Dim bb6 As Integer
Dim cc6 As Double
Dim drr6 As DataRow=DataTables("参数表").Find("[型材名称]='外开扇扣条'")
aa6=drr6("型材代号")
bb6=drr6("计算参数")
cc6=drr6("线密度")
e.DataRow("外开扇扣条参数1")=aa6
e.DataRow("外开扇扣条参数2")=bb6
e.DataRow("外开扇扣条参数3")=cc6
'定义--参数代码---内开扇角码的代号,计算参数,线密度--代码
Dim aa7 As String
Dim bb7 As Integer
Dim cc7 As Double
Dim drr7 As DataRow=DataTables("参数表").Find("[型材名称]='内开扇角码'")
aa7=drr7("型材代号")
bb7=drr7("计算参数")
cc7=drr7("线密度")
e.DataRow("内开扇角码参数1")=aa7
e.DataRow("内开扇角码参数2")=bb7
e.DataRow("内开扇角码参数3")=cc7
'定义--参数代码---外开扇角码的代号,计算参数,线密度--代码
Dim aa8 As String
Dim bb8 As Integer
Dim cc8 As Double
Dim drr8 As DataRow=DataTables("参数表").Find("[型材名称]='外开扇角码'")
aa8=drr8("型材代号")
bb8=drr8("计算参数")
cc8=drr8("线密度")
e.DataRow("外开扇角码参数1")=aa8
e.DataRow("外开扇角码参数2")=bb8
e.DataRow("外开扇角码参数3")=cc8
'定义--参数代码---传动条的代号,线密度--代码
Dim aa9 As String
Dim cc9 As Double
Dim drr9 As DataRow=DataTables("参数表").Find("[型材名称]='传动条'")
aa9=drr9("型材代号")
cc9=drr9("线密度")
e.DataRow("传动条参数1")=aa9
e.DataRow("传动条参数2")=cc9
'定义--参数代码---玻璃与铝框之间间隙参数--代码
Dim aa10 As Integer
Dim drr10 As DataRow=DataTables("参数表").Find("[配合参数1]='玻璃与铝框之间总间隙'")
aa10=drr10("配合参数2")
e.DataRow("玻璃间隙")=aa10
'定义--参数代码---外开扇搭接尺寸--代码
Dim aa11 As Integer
Dim drr11 As DataRow=DataTables("参数表").Find("[配合参数1]='外开扇搭接总尺寸'")
aa11=drr11("配合参数2")
e.DataRow("外开扇搭接")=aa11
'定义--参数代码---外开扇搭接尺寸--代码
Dim aa12 As Integer
Dim drr12 As DataRow=DataTables("参数表").Find("[配合参数1]='内开扇搭接总尺寸'")
aa12=drr12("配合参数2")
e.DataRow("内开扇搭接")=aa12
End If
End Select
'定义各种下拉列表显示模式
Select Case e.DataCol.name
Case "宽度分格1","高度分格1"
If e.DataRow("宽度分格1") =Nothing Or e.DataRow("高度分格1") =Nothing Then
e.DataRow("玻璃种类")=Nothing '设置玻璃种类显示模式
e.DataRow("是否钢化")=Nothing '设置玻璃是否钢化显示模式
End If
Case "宽度分格5","高度分格5"
If e.DataRow("宽度分格5") <>"外开扇" Or e.DataRow("高度分格5") <>"外开扇" Then
e.DataRow("换向料11")=Nothing '设置换向料表面颜色显示模式
e.DataRow("换向料12")=Nothing '设置换向料表面处理显示模式
e.DataRow("换向料13")=Nothing '设置换向料端头形式显示模式
e.DataRow("外开扇11")=Nothing '设置外开扇表面颜色显示模式
e.DataRow("外开扇12")=Nothing '设置外开扇表面处理显示模式
e.DataRow("外开扇13")=Nothing '设置外开扇端头形式显示模式
e.DataRow("外开扇角码8")=Nothing '设置外开扇角码表面处理显示模式
e.DataRow("外开扇扣条11")=Nothing '设置外开扇扣条表面颜色显示模式
e.DataRow("外开扇扣条12")=Nothing '设置外开扇扣条表面处理显示模式
e.DataRow("外开扇扣条13")=Nothing '设置外开扇扣条端头形式显示模式
End If
If e.DataRow("宽度分格5") <>"内开扇" Or e.DataRow("高度分格5") <>"内开扇" Then
e.DataRow("内开扇11")=Nothing '设置内开扇表面颜色显示模式
e.DataRow("内开扇12")=Nothing '设置内开扇表面处理显示模式
e.DataRow("内开扇13")=Nothing '设置内开扇端头形式显示模式
e.DataRow("内开扇角码8")=Nothing '设置内开扇角码表面处理显示模式
e.DataRow("内开扇扣条11")=Nothing '设置内开扇扣条表面颜色显示模式
e.DataRow("内开扇扣条12")=Nothing '设置内开扇扣条表面处理显示模式
e.DataRow("内开扇扣条13")=Nothing '设置内开扇扣条端头形式显示模式
End If
If e.DataRow("宽度分格5")="外开扇" And e.DataRow("高度分格5")="外开扇" Or e.DataRow("宽度分格5")="内开扇" And e.DataRow("高度分格5")="内开扇" Then
e.DataRow("固定玻璃扣条11")=Nothing '设置固定扣条表面颜色显示模式
e.DataRow("固定玻璃扣条12")=Nothing '设置固定扣条表面处理显示模式
e.DataRow("固定玻璃扣条13")=Nothing '设置固定扣条端头形式显示模式
End If
End Select