这样再试试
Dim dr As DataRow
Dim dt As DataTable = DataTables("坐标")
Dim str As String
Dim Dic As new Dictionary(of String,DataRow)
For Each dr In dt.Select("","名称") '如果有空行,改下条件For Each dr In dt.Select("名称 is not null","名称")
dic.Add(dr("名称"),dr)
Next
For Each str In dic.Keys
dr = dic(str)
If dr.Isnull("左侧控件") AndAlso dr.Isnull("顶上控件") Then
dr("X坐标") = 0
dr("Y坐标") = 0
ElseIf dr.Isnull("左侧控件") = False AndAlso dr.Isnull("顶上控件") Then
dr("X坐标") = dic(dr("左侧控件"))("X坐标") + dic(dr("左侧控件"))("宽")
dr("Y坐标") = dic(dr("左侧控件"))("Y坐标")
ElseIf dr.Isnull("左侧控件") AndAlso dr.Isnull("顶上控件") = False Then
dr("X坐标") = dic(dr("顶上控件"))("X坐标")
dr("Y坐标") = dic(dr("顶上控件"))("Y坐标") + dic(dr("顶上控件"))("高")
ElseIf dr.Isnull("左侧控件") = False AndAlso dr.Isnull("顶上控件") = False Then
dr("X坐标") = dic(dr("左侧控件"))("X坐标") + dic(dr("左侧控件"))("宽")
dr("Y坐标") = dic(dr("顶上控件"))("Y坐标") + dic(dr("顶上控件"))("高")
End If
Next
[此贴子已经被作者于2012-3-29 15:19:17编辑过]