此主题相关图片如下:mic27-ma.png
窗体代码
cmd.CommandText = "sele ct * from {菜单管理表} where 窗体名称 = '" & e.Form.Name & "'"
Dim csdt As DataTable = cmd.ExecuteReader
For Each cr As DataRow In csdt.DataRows
If cr.IsNull("名称") = False Then
If cr("层数") = 1 Then
Dim mnu As Winform.Strip
mnu = e.Form.Strips.Add(cr("名称"),cr("菜单ID"))
Dim drs As List(of DataRow) = csdt.Select("父阶id =" & cr("ID"))
If drs.Count > 0 Then
Functions.Execute("增加菜单",mnu,csdt,cr("ID"),cr("层数"))
End If
End If
End If
Next
递归代码.............问题在这里,不会调试了,请老师指点
Dim mnu As Winform.Strip
Dim itm As WinForm.StripItem
Dim csdt As DataTable = args(1)
If args(3) > 1 Then
itm = args(0)
Else
mnu = args(0)
End If
Dim drs As List(of DataRow) = csdt.Select("父阶id =" & args(2))
If drs IsNot Nothing Then
For Each dr As DataRow In drs
Dim drs1 As List(of DataRow) = csdt.Select("父阶id =" & dr("ID"))
If drs1.Count > 0 Then
If dr("层数") > 2 Then
Functions.Execute("增加菜单",itm,csdt,dr("id"),dr("层数"))
Else
Functions.Execute("增加菜单",mnu,csdt,dr("id"),dr("层数"))
End If
Else
If dr("层数") > 2 Then
itm.Items.Add(dr("名称"),dr("标题"),dr("图标") ,dr("菜单ID"))
Else
mnu.Items.Add(dr("名称"),dr("标题"),dr("图标") ,dr("菜单ID"))
End If
End If
Next
End If