Foxtable(狐表)用户栏目专家坐堂 → 窗口禁止输入重复值的实现问题


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

主题:窗口禁止输入重复值的实现问题

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


加好友 发短信
等级:小狐 帖子:349 积分:3329 威望:0 精华:0 注册:2016/3/8 18:13:00
窗口禁止输入重复值的实现问题  发帖心情 Post By:2017/12/25 14:15:00 [只看该作者]

老师,在表中禁止输入重复值可以做到。我现在是在窗口中对表进行写入,如图:
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171225140801.jpg
图片点击可在新窗口打开查看 
我想做到在窗口中的型号textbox3中输入有重复值的内容后,在其他textbox中显示表中相关字段,同时弹出一个对话框进行提示,请问如何实现。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table

[此贴子已经被作者于2017/12/25 14:15:41编辑过]

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table


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


加好友 发短信
等级:小狐 帖子:349 积分:3329 威望:0 精华:0 注册:2016/3/8 18:13:00
  发帖心情 Post By:2017/12/25 14:47:00 [只看该作者]

甜老师,我是在“新添”窗口中实现这种功能,因为我不是直接在表中添加内容,

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


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

以下是引用weipeng6999在2017/12/25 14:47:00的发言:
甜老师,我是在“新添”窗口中实现这种功能,因为我不是直接在表中添加内容,

 

你不是绑定了吗?你绑定了表列,那就直接在datacolchanged事件处理最为方便。

 

 


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


加好友 发短信
等级:小狐 帖子:349 积分:3329 威望:0 精华:0 注册:2016/3/8 18:13:00
  发帖心情 Post By:2017/12/25 15:23:00 [只看该作者]

甜老师,现在是“新添”窗口中把所有textbox内容写完完成后才出现“已有重复值”的弹出框,我想只要在“型号”一个textbox中写入重复值,其他文本框就自动写入相关内容,再弹出“已有重复值,需不需要修改相关信息”的弹出框。

[此贴子已经被作者于2017/12/25 15:24:42编辑过]

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


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

去看datacolchanged事件的代码,目前是根据两个列查询,你改成一个列的即可。

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


加好友 发短信
等级:小狐 帖子:349 积分:3329 威望:0 精华:0 注册:2016/3/8 18:13:00
  发帖心情 Post By:2018/6/6 11:03:00 [只看该作者]

甜老师,以下代码运行正常,但是我把“单位名称”改为多表头“基本资料_单位名称”就不行了,是不是不能使用多表头?
Select Case e.DataCol.name
    Case "单位名称"
        Dim fdr As DataRow = e.DataTable.find("单位名称 = '" & e.DataRow("单位名称") & "' And _Identify <> " & e.DataRow("_Identify"))
        If fdr IsNot Nothing Then
            msgbox("已存在此单位数据")
        e.DataRow("产品") = fdr("产品")
        e.DataRow("型号") = fdr("型号")
            
   e.DataRow("数量") = fdr("数量")

        End If
        If e.DataRow("产品") = "电脑" Then
            e.DataRow("单位")="台"
        End If
End Select

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试重复值.table

[此贴子已经被作者于2018/6/6 11:11:57编辑过]

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


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

Select Case e.DataCol.name
    Case "基本资料_单位名称"
        Dim fdr As DataRow = e.DataTable.find("基本资料_单位名称 = '" & e.DataRow("基本资料_单位名称") & "' And _Identify <> " & e.DataRow("_Identify"))
        If fdr IsNot Nothing Then
            msgbox("已存在此单位数据")
            e.DataRow("产品") = fdr("产品")
            e.DataRow("型号") = fdr("型号")
            e.DataRow("数量") = fdr("数量")
        End If
        If e.DataRow("产品") = "电脑" Then
            e.DataRow("单位")="台"
        End If
End Select

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


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

或者,你可以用【列标题】处理多层表头

 

http://www.foxtable.com/webhelp/scr/0018.htm

 


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


加好友 发短信
等级:小狐 帖子:349 积分:3329 威望:0 精华:0 注册:2016/3/8 18:13:00
  发帖心情 Post By:2018/6/6 11:56:00 [只看该作者]

谢谢甜老师了!改为列标题可以


 回到顶部