Foxtable(狐表)用户栏目专家坐堂 → [求助]根据客户名称,自动出现身份证号码或者出现下拉列表共选择


  共有4077人关注过本帖树形打印复制链接

主题:[求助]根据客户名称,自动出现身份证号码或者出现下拉列表共选择

帅哥哟,离线,有人找我吗?
ahbrq
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:2412 威望:0 精华:0 注册:2013/9/29 20:41:00
[求助]根据客户名称,自动出现身份证号码或者出现下拉列表共选择  发帖心情 Post By:2014/8/11 21:59:00 [只看该作者]

[求助]在“积分兑换明细表”中,输入客户名称,自动出现身份证号码;或者同名时,身份证号码处出现下拉列表供选择。

 

功能如何实现?

 

 Select Case e.DataCol.name
        Case  "客户名称","身份证号码"
            Dim filter As String = "客户名称 = '" & e.DataRow("客户名称") & "' and 身份证号码 = '" & e.DataRow("身份证号码") & "'"
            Dim str As String = DataTables("客户资料").GetComboListString("身份证号码", filter)
           
            If str.Split("|").Length = 1 Then
                e.DataRow("身份证号码") = str
            Else
              '  e.DataRow("身份证号码") = "多个重复值"
                Tables(e.DataTable.Name).Cols("身份证号码").ComboList = str
            End If
    End Select

 

 


以上代码实现不了,请指教。谢谢

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目0808.table


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/11 22:12:00 [只看该作者]


    Select Case e.DataCol.name
        Case  "客户名称"
            Dim filter As String = "客户名称 = '" & e.DataRow("客户名称") & "'"
            Dim str As String = DataTables("客户资料").GetComboListString("身份证号码", filter)
           
            If str.Split("|").Length = 1 Then
                e.DataRow("身份证号码") = str
            Else
              '  e.DataRow("身份证号码") = "多个重复值"
                Tables(e.DataTable.Name).Cols("身份证号码").ComboList = str
            End If
    End Select

 


 回到顶部
帅哥哟,离线,有人找我吗?
ahbrq
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:2412 威望:0 精华:0 注册:2013/9/29 20:41:00
  发帖心情 Post By:2014/8/13 21:24:00 [只看该作者]

当出现有重名的时候,通过下拉列表可以选择正确的身份证,但是下一条记录中身份证列的下拉列表中还有上面重名的身份证下拉列表值,

 

我通过给身份证列赋值为空,但是没有起到效果,什么原因?

 

 Select Case e.DataCol.name
        Case  "客户名称"
            e.DataRow("身份证号码") = "                "
            Dim filter As String = "客户名称 = '" & e.DataRow("客户名称") & "'  "
            Dim str As String = DataTables("客户资料").GetComboListString("身份证号码", filter)
           
            If str.Split("|").Length = 1 Then
                e.DataRow("身份证号码") = str
            Else
                e.DataRow("身份证号码") = "多个重复值"
                Tables(e.DataTable.Name).Cols("身份证号码").ComboList = str
            End If
    End Select


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/13 21:36:00 [只看该作者]

 prepareEdit事件,加入代码

 

Select Case e.Col.name
    Case  "身份证号码"
        Dim filter As String = "客户名称 = '" & e.Row("客户名称") & "'  "
        Dim str As String = DataTables("客户资料").GetComboListString("身份证号码", filter)
       
        If str.Split("|").Length > 1 Then
            e.Table.Cols("身份证号码").ComboList = str
        Else
            e.Table.Cols("身份证号码").ComboList = Nothing
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
ahbrq
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:2412 威望:0 精华:0 注册:2013/9/29 20:41:00
  发帖心情 Post By:2014/8/13 21:44:00 [只看该作者]

那么datacolchanged事件中这部分代码是否需要去掉?

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/13 21:48:00 [只看该作者]

 回复5楼不需要去到,也可以改成

 

Select Case e.DataCol.name
    Case  "客户名称"
        Dim filter As String = "客户名称 = '" & e.DataRow("客户名称") & "'  "
        Dim fdr As DataRow = DataTables("客户资料").find(filter)
              
        If fdr IsNot Nothing Then
            e.DataRow("身份证号码") = fdr("身份证号码")
        Else
            e.DataRow("身份证号码") = Nothing
        End If      
End Select

[此贴子已经被作者于2014-8-13 21:48:57编辑过]

 回到顶部