以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  通过DropDownBox 选择的值如果不是唯一值,如何定位是选择行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=173318)

--  作者:水墨青花
--  发布时间:2021/11/24 9:29:00
--  通过DropDownBox 选择的值如果不是唯一值,如何定位是选择行
老师,

通过DropDownBox 点击选择的值,如果不是如下 【客户ID】这样的唯一值,而是有可能重复的【客户名称】,但是不同的客户名称行所包含的信息不同。

每次双击选择时,录入的经常是匹配该客户名称的 第一个行的内容,不是双击行的内容。

如何才能确定 是双击行 的内容录入呢?

If e.Selected Then \'如果选择了值
    Dim tbl As Table = Tables("窗口1_Table1")
    If tbl.Current IsNot Nothing Then
        e.Form.DropDownBox.Value = tbl.Current("客户ID")
        If e.Form.DropTable IsNot Nothing Then \'如果是通过表下拉的
            e.Form.DropTable.FinishEditing()
        Else \'如果是通过窗口下拉的
            e.Form.DropDownBox.WriteValue()
        End If
    End If

End
 If

--  作者:有点蓝
--  发布时间:2021/11/24 9:33:00
--  
帮助的代码肯定是录入的双击的行的数据。请上传有问题的实例说明
--  作者:水墨青花
--  发布时间:2021/11/24 11:04:00
--  
帮助的没有问题,因为帮助录入的是唯一值 客户ID。

我的情况是,录入的是 名称列,而名称列 不是唯一值,所以双击后默认录入的应该是 找到的第一个匹配名称的行,而不是实际的双击行。

--  作者:有点蓝
--  发布时间:2021/11/24 11:19:00
--  
使用当前行肯定就是双击的行啊,和名称列 是不是唯一值有啥关系

e.Form.DropDownBox.Value = tbl.Current("客户ID")