订单表中有"客户姓名"列跟"产品名称"列,下拉窗口做在"产品名称"列中,想实现"客户姓名"列输入内容后,下拉窗口就根据客户姓名筛选出对应的产品名称,下拉窗口的Table绑定的是"客户产品"表,底下是自己研究半天的代码,一直不行,请老师指导下代码哪里出错了,其它位置代码需要改吗?
订单表的ChangeEdit事件代码:
Dim dr As DataRow
If e.Col.Name = "产品名称" Then '如果编辑的是客户ID列
If e.Col.DroppedDown Then '如果下拉窗口已经打开
Dim tbl As Table = Tables("客户产品下拉窗口_Table1")
If e.Text = "" Then '如果内容为空
tbl.Filter = "客户姓名 = '" & dr("客户姓名") & "'"
Else '否则根据输入内容进行模糊筛选
Dim txt As String = "'*" & e.Text & "*'"
tbl.Filter = "客户姓名 = '" & dr("客户姓名") & "'"And "产品名称 Like " & txt
End If
End If
End If
下拉窗口DropDownOpened事件代码:
Dim dr As DataRow
Dim txt As String = e.Form.DropDownBox.Text
Dim tbl As Table = Tables("客户产品下拉窗口_Table1")
If txt = "" Then
Tables("客户产品下拉窗口_Table1").Filter = "客户姓名 = '" & dr("客户姓名") & "'"
Else
txt = "'*" & txt & "*'"
tbl.Filter = "客户姓名 = '" & dr("客户姓名") & "'"And "产品名称 Like " & txt
End If
e.Form.DropDownBox.Select() '将输入焦点返回下拉列表框