If e.DataRow("工序") = "备料" And e.DataRow("工步") = "棒料"Then
Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|材料牌号|60|材料密度|60|直径|60|直径高度|60|按重量材料单价|60|单件材料重量|60|单件材料价格|60|零件数量|60|材料费小计|60")
ElseIf e.DataRow("工序") = "备料" And e.DataRow("工步") = "板料"Then
Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|材料牌号|60|材料密度|60|长度|60|宽度|60|高度|60|按重量材料单价|60|单件材料重量|60|单件材料价格|60|零件数量|60|材料费小计|60")
ElseIf e.DataRow("工序") = "备料" And e.DataRow("工步") = "按长度"Then
Tables("零件加工报价系统_Table4").SetColVisibleWidth ("刷新|40|工步号|120|工序|60|工步|60|材料牌号|60|长度|60|按长度材料单价|60|单件材料价格|60|零件数量|60|材料费小计|60")
ElseIf e.DataRow("工序") = "备料" And e.DataRow("工步") = "按数量"Then
Tables("零件加工报价系统_Table4").SetColVisibleWidth ("刷新|40|工步号|120|工序|60|工步|60|材料牌号|60|按数量材料单价|60|零件数量|60|材料费小计|60")
ElseIf e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割孔"Then
Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|直径|60|直径高度|60|线切割引线长度|60|系数1|60|单工步加工时间|60|按时间加工单价|60|单工步线切割穿孔数量|60|按数量加工单价|60|单工步加工费|60|一个零件上加工数量|60|单个零件工步加工费|60|零件数量|60|单个零件工步时间|60|工步时间小计|60|加工费小计|60")
ElseIf e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割R角"Then
Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|直径|60|直径高度|60|线切割引线长度|60|系数1|60|单工步加工时间|60|按时间加工单价|60|单工步线切割穿孔数量|60|按数量加工单价|60|单工步加工费|60|一个零件上加工数量|60|单个零件工步加工费|60|零件数量|60|单个零件工步时间|60|工步时间小计|60|加工费小计|60")
ElseIf e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割矩形"Then
Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|长度|60|宽度|60|高度|60|线切割引线长度|60|系数1|60|单工步加工时间|60|按时间加工单价|60|单工步线切割穿孔数量|60|按数量加工单价|60|单工步加工费|60|一个零件上加工数量|60|单个零件工步加工费|60|零件数量|60|单个零件工步时间|60|工步时间小计|60|加工费小计|60")
ElseIf e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割异型"Then
Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|异型线切割长度|60|高度|60|线切割引线长度|60|系数1|60|单工步加工时间|60|按时间加工单价|60|单工步线切割穿孔数量|60|按数量加工单价|60|单工步加工费|60|一个零件上加工数量|60|单个零件工步加工费|60|零件数量|60|单个零件工步时间|60|工步时间小计|60|加工费小计|60")
Else
End If
Tables("零件加工报价系统_Table4").AutoSizeRows()
If e.DataCol.Name = "工序号" Then
If e.DataRow.IsNull("工序号") Then
e.DataRow("工步号") = DBNull.Value
Else
e.DataRow("工步号") = e.DataRow("工序号") & "-" & Format(e.DataTable.Compute("Count(工序号)", "[工序号] = '" & e.DataRow("工序号") & "' And [_identify] < 0" & e.DataRow("_Identify")) + 1, "00")
End If
End If
e.DataRow("加工内容") = e.DataRow("工步") & e.DataRow("技术要求") & e.DataRow("直径") & e.DataRow("直径公差") & e.DataRow("高度") & e.DataRow("高度公差") & e.DataRow("零件数量")
If e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割R角" Then '里面的代码只有符合这2个条件才会计算
Select Case e.DataCol.Name
Case "直径" , "直径高度" , "线切割引线长度" , "系数1"
If e.DataRow("系数1") = 0 Then
e.DataRow("单工步加工时间") = 0
Else
e.DataRow("单工步加工时间") = (e.DataRow("直径") * 3.14 * e.DataRow("直径高度") / 4 + e.DataRow("线切割引线长度")) / e.DataRow("系数1") * 60
End If
End Select
Select Case e.DataCol.Name
Case "单工步加工时间" , "按时间加工单价", "单工步线切割穿孔数量", "按数量加工单价"
e.DataRow("单工步加工费") = e.DataRow("单工步加工时间") * e.DataRow("按时间加工单价") + e.DataRow("单工步线切割穿孔数量") * e.DataRow("按数量加工单价")
End Select
Select Case e.DataCol.Name
Case "单工步加工费" , "一个零件上加工数量"
e.DataRow("单个零件工步加工费") = e.DataRow("单工步加工费") * e.DataRow("一个零件上加工数量")
End Select
Select Case e.DataCol.Name
Case "单个零件工步加工费" , "零件数量"
e.DataRow("加工费小计") = e.DataRow("单个零件工步加工费") * e.DataRow("零件数量")
End Select
Select Case e.DataCol.Name
Case "单工步加工时间" , "一个零件上加工数量"
e.DataRow("单个零件工步时间") = e.DataRow("单工步加工时间") * e.DataRow("一个零件上加工数量")
End Select
Select Case e.DataCol.Name
Case "单个零件工步时间" , "零件数量"
e.DataRow("工步时间小计") = e.DataRow("单个零件工步时间") * e.DataRow("零件数量")
End Select
End If
Select Case e.DataCol.Name
Case "材料费小计", "加工费小计", "刷新"
Dim pr As DataRow
pr = DataTables("零件加工报价系统_Table3").Find("工序号 = '" & e.DataRow("工序号") & "'")
If pr IsNot Nothing Then
DataTables("零件加工报价系统_Table3").DataCols("工序号").RaiseDataColChanged(pr)
End If
End Select