狐爸,在使用列表项目过程中,发现原窗口中客户可根据县名筛选出相应的客户供录入,但现在几个窗口中筛选出的客户都是出库表中的县所筛选出的。代码:
If e.Node.Level = 2 Then '如果单击的是第三层节点
Dim ps() As String = e.Node.FullPath.Split("\")
Dim tr As Row
If e.Form.DropTable IsNot Nothing Then
If e.Form.DropTable.Current IsNot Nothing Then
tr = e.Form.DropTable.Current
End If
Else
If e.Form.DropDownBox.BindingField > "" Then
Dim nm As String = e.Form.DropDownBox.BindingField
nm = nm.Split(".")(0)
tr = Tables(nm).Current
End If
End If
If tr Is Nothing Then
Return
End If
Dim dr As DataRow = DataTables("行政").Find("省= '" & ps(0) & "' And 市= '" & ps(1) & "' And 县= '" & ps(2) & "'" )
If dr IsNot Nothing Then '如果在行政区划表找到对应的行,则将此行的值写入出库表的当前行.
tr("省") = dr("省")
tr("市") = dr("市")
tr("县") = dr("县")
e.Form.DropDownBox.Value = tr("县") '这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
End If
e.Form.DropDownBox.CloseDropdown() '关闭下拉目录树
End If
是否因为代码中红色部分原因?
如:门面窗口中Textchanged事件代码:
Dim drp As WinForm.DropDownBox = e.sender
If drp.DroppedDown Then '如果下拉窗口已经打开
Dim txt As String = e.sender.Text
Dim tbl As Table = Tables("客户录入_Table1")
If txt = "" Then
tbl.Filter = "县 = '" & Tables("门面").current("县") & "'"
Else
txt = "'*" & txt & "*'"
tbl.Filter = "县 = '" & Tables("门面").current("县") & "' And 客户 Like " & txt
End If