以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于组合框加载不同列数据 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=138240) |
-- 作者:裴保民 -- 发布时间:2019/7/26 8:32:00 -- 关于组合框加载不同列数据 怎样设置将组合框加载符合条件的表中某一行数据几个列的值呢? |
-- 作者:有点蓝 -- 发布时间:2019/7/26 8:47:00 -- 使用find查找得到行,然后 dim s as string = dr("第一列") & "|" & dr("第二列") & "|" ...... 组合框.combolist = s
|
-- 作者:裴保民 -- 发布时间:2019/7/26 20:03:00 -- 假如一组数据(电话1、电话2、电话3)是正常显示 、另一组对应的数据(电话1掩码显示、电话2掩码显示、电话3掩码显示)收是掩码显示 ,当登录程序的身份为操作员的时候,打开组合框显示的是掩码显示,当单击某一项的时候选值是正常显示的字段去给数据库另一表赋值,怎么设置一下呢? 因为在 DataColChanging事件中写了如下代码 If e.DataCol.name ="注册手机号掩码" Then
在组合框的Enter事件中写了如下代码 Dim khID As WinForm.DropDownBox= e.Form.controls("kehuIDDropBox") Dim zcsjh As WinForm.ComboBox=e.Form.Controls("zhuceshoujihaoComboBox") Dim dr As DataRow If khID.text<>"" Then dr = DataTables("客户资料").Find("客户ID= \'"& khID.text &"\'") Dim zfc As String=dr("手机号1") & "|" & dr("手机号2") & "|" & dr("手机号3") Dim zfc1 As String=dr("手机号1掩码") & "|" & dr("手机号2掩码") & "|" & dr("手机号3掩码") If _UserGroup <> "系统管理员" Then zcsjh.BindingField = "商户资料表.注册手机号掩码" zcsjh.ComboList=zfc1 Else \'zfc =dr("手机号1") & "|" & dr("手机号2") & "|" & dr("手机号3") zcsjh.BindingField = "商户资料表.注册手机号" zcsjh.ComboList=zfc End If End If 如果不照样选择就会报错的。.提醒 "不能这样修改"
[此贴子已经被作者于2019/7/26 20:11:46编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/7/26 20:47:00 -- 请上传实例测试 |
-- 作者:裴保民 -- 发布时间:2019/7/26 21:11:00 -- 他是综合的没法上传实例,我就是想实现当打开组合框显示的是掩码列,当中其中一项时怎样将对应的另外一列(取值)的数据赋值给某一个字段 |
-- 作者:有点蓝 -- 发布时间:2019/7/26 21:16:00 -- 新建项目做个类似的功能。我们没有办法凭想象去解决这个问题 |
-- 作者:裴保民 -- 发布时间:2019/7/27 0:32:00 -- 老师麻烦测试一下 |
-- 作者:有点蓝 -- 发布时间:2019/7/27 9:14:00 -- If e.DataCol.name ="注册电话掩码" Then If e.NewValue = "" Then systemready = False e.DataRow(e.DataCol.name.SubString(0,e.DataCol.name.length-4)) = "" systemready = True ElseIf e.newvalue.contains("*") Then Dim dr As DataRow = DataTables("客户资料表").Find("客户ID=\'" & e.DataRow("客户ID") & "\'") If dr IsNot Nothing Then Dim dh As String For Each dc As DataCol In DataTables("客户资料表").DataCols If dc.Name.EndsWith("掩码") Then If dr(dc.Name) = e.NewValue Then dh = dr(dc.Name.Replace("掩码","")) Exit For End If End If Next If dh > "" Then Dim r_tele As New System.Text.RegularExpressions.Regex("^1[0-9]{10}$") If r_tele.IsMatch(dh) = False Then msgbox("电话号码不正确") e.cancel = True End If If e.Cancel = False Then systemready = False e.DataRow(e.DataCol.name.SubString(0,e.DataCol.name.length-2)) = dh \'e.NewValue = e.NewValue.SubString(0, 3) & "*****" & e.NewValue.SubString(8,3) systemready = True End If Else e.Cancel = True End If Else e.Cancel = True End If Else msgbox("不能这样修改") e.cancel = True End If End If
|
-- 作者:裴保民 -- 发布时间:2019/7/27 14:59:00 -- (1)虽然不弹出提示了,但选择后也不赋值了,什么原因? (2)如果是文本框输入电话号码会弹出同样的提示框 [此贴子已经被作者于2019/7/27 16:35:31编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/7/27 16:47:00 -- 我测试没有问题 |