事情是这个样子的,首先总表的结构是这样的
总表有三种包装材料,总表中三种包材的长、宽、高、重量等均引用表二包装材料表外尺寸长宽高
列名称不一样。。
我在引用包装材料表的时候使用了以下代码
If e.DataCol.Name = "Ⅰ级包装_包装材料一_编码" Then
If e.NewValue Is Nothing Then
e.DataRow("Ⅰ级包装_包装材料一_长") = Nothing
e.DataRow("Ⅰ级包装_包装材料一_宽") = Nothing
e.DataRow("Ⅰ级包装_包装材料一_高") = Nothing
e.DataRow("Ⅰ级包装_包装材料一_纸箱") = Nothing
Else
Dim dr As DataRow
dr = DataTables("包材数据库").Find("[包材编码] = '" & e.NewValue & "'")
If dr IsNot Nothing
e.DataRow("Ⅰ级包装_包装材料一_纸箱") = dr("包材名称")
e.DataRow("Ⅰ级包装_包装材料一_长") = dr("外尺寸_长")
e.DataRow("Ⅰ级包装_包装材料一_宽") = dr("外尺寸_宽")
e.DataRow("Ⅰ级包装_包装材料一_高") = dr("外尺寸_高")
e.DataRow("Ⅰ级包装_包装材料一_重量") = dr("重量")
End If
End If
End If
虽然部分与包装材料表可以对应上的编码能够自动引用长宽高等数据
但是这些自动引用的长宽高等数据依然在可编辑状态
问题一:怎样使这些成功引用的数据处在不可编辑状态
同时,使那些不在包装材料表中的编码对应的长宽高数据处在可编辑状态?
第二,更新包装材料表的数据怎样使总表对应的数据同时更新?
我写的代码
Select Case e.DataCol.Name
Case "外尺寸_长","外尺寸_宽","外尺寸_高","重量"
Dim Filter As String = "[Ⅰ级包装_包装材料一_编码] = '" & e.DataRow("包材编码") & "'"
Dim drs As List(Of DataRow) = DataTables("数据库").Select(Filter)
For Each dr As DataRow In drs
dr(e.DataCol.Name) = e.NewValue
Next
End Select
这段代码没看出问题在哪
由于是新手,刚刚上手一天,还望大神多多指教
此主题相关图片如下:1.jpg
此主题相关图片如下:捕获.jpg
[此贴子已经被作者于2017/1/8 21:10:53编辑过]