Foxtable(狐表)用户栏目专家坐堂 → 代码冲突


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

主题:代码冲突

帅哥,在线噢!
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107580 积分:547197 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/24 10:52:00 [只看该作者]

不要使用字典,改为使用下拉列表

 回到顶部
帅哥,在线噢!
lin98
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1132 积分:7476 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 16:34:00 [只看该作者]

Dim dmp3 As New TableDataMap
dmp3.DataTable = "窗口_Table3" '
dmp3.ValueCol = "方式" '
dmp3.DisplayCol = "方式" '
dmp3.ListCols = "方式"
Tables("窗口_Table2").Cols("方式").DataMap = dmp3.CreateDataMap() '

Dim dmp As New TableDataMap
dmp.DataTable = "窗口_Table3" '
dmp.ValueCol = "等级" '
dmp.DisplayCol = "等级" '
dmp.ListCols = "等级"
Tables("窗口_Table2").Cols("等级").DataMap = dmp.CreateDataMap() '生成并设置DataMap

上面代码执行,双击单元格后执行窗口_Table2的方式列,双击单元格后执行窗口_Table2的等级列会相互彼此已有的数据
双击单元格后执行窗口_Table2的方式列,只修改方式列,其他不变,或双击单元格后执行窗口_Table2的等级列,只修改等级列,其他不变,代码如何实现?

 回到顶部
帅哥,在线噢!
lin98
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1132 积分:7476 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 16:41:00 [只看该作者]

DataTables("窗口_Table2").DataCols("等级").DefaultValue = """常规"""
DataTables("窗口_Table2").DataCols("方式").DefaultValue = """常规"""
执行后,代码会异常,有时二个默认值会出来,大部时只会出一个默认值,,这个是问题,如何解决?

 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107580 积分:547197 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/24 16:48:00 [只看该作者]

我测试没有这种问题。建议先把字典改为下拉列表

 回到顶部
帅哥,在线噢!
lin98
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1132 积分:7476 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 19:09:00 [只看该作者]

改为下拉列表,下面蓝代码没有执行,如何处理?
方法一
Dim dr As DataRow = e.Sender.SelectedItem
If dr IsNot Nothing Then
    Tables("窗口_Table2").Current("等级") = dr("等级") 
    
End If

方法二
Dim dr As DataRow = DataTables("下拉列表窗口_Table3").Find("等级='" & e.Sender.Text & "'") '
If dr IsNot Nothing AndAlso Tables("窗口_Table1").Current IsNot Nothing Then '
    Tables("窗口_Table2").Current("等级") = dr("等级") '
   
End If


'窗口上的组合框-事件--Enter
Dim cmb As WinForm.ComboBox '
cmb = Forms("下拉列表窗口").Controls("ComboBox1") '"
cmb.ComboList = DataTables("下拉列表窗口_Table1").GetComboListString("等级", "等级 is not null") '

 回到顶部
帅哥,在线噢!
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107580 积分:547197 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/25 9:10:00 [只看该作者]


 回到顶部
帅哥,在线噢!
lin98
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1132 积分:7476 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/25 11:35:00 [只看该作者]

方法一
Dim dr As DataRow = e.Sender.SelectedItem
If dr IsNot Nothing Then
    
    Tables("窗口_Table2").Cols("等级").ComboList = DataTables("下拉列表窗口_Table1").GetComboListString("等级")
End If
执行报错:无法将类型为“System.String”的对象强制转换为类型“Foxtable.DataRow”。我看官方视频教是可以,到这里就不行,如何解决?

方法二
Dim dr As DataRow = DataTables("下拉列表窗口_Table3").Find("等级='" & e.Sender.Text & "'") '
If dr IsNot Nothing AndAlso Tables("窗口_Table1").Current IsNot Nothing Then '
    Tables("窗口_Table2").Cols("等级").ComboList = DataTables("下拉列表窗口_Table1").GetComboListString("等级"),改了,执行无效,如何解决?
   
End If

 回到顶部
帅哥,在线噢!
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107580 积分:547197 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/25 11:37:00 [只看该作者]

一句就够了

Tables("窗口_Table2").Cols("等级").ComboList = DataTables("下拉列表窗口_Table1").GetComboListString("等级")

 回到顶部
帅哥,在线噢!
lin98
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1132 积分:7476 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/25 12:51:00 [只看该作者]

需求是,单击"窗口_Table2"的"等级"列,打开下拉列表窗口,下拉列表窗口的组合框ComboBox1列表选中的值赋给""窗口_Table2"的"等级"列。

'窗口上的组合框-事件--Enter-显示下拉列表窗口_Table1的列表
Dim cmb As WinForm.ComboBox '
cmb = Forms("下拉列表窗口").Controls("ComboBox1") '"
cmb.ComboList = DataTables("下拉列表窗口_Table1").GetComboListString("等级", "等级 is not null") '

下面代码,执行无法实现下拉列表窗口的组合框ComboBox1列表选中的值赋给""窗口_Table2"的"等级"列,如何解决?
SelectedIndexChanged选择不同列表项目后执行
Tables("窗口_Table2").Cols("等级").ComboList = DataTables("下拉列表窗口_Table1").GetComboListString("等级")





 回到顶部
帅哥,在线噢!
有点蓝
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107580 积分:547197 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/25 14:08:00 [只看该作者]

怎么感觉这个贴您每一次回复说的都不是同一个问题!!


下拉窗口的DropDownClosed事件代码为:

If e.Selected Then
    Dim tx As WinForm.TextBox = e.Form.Controls("
ComboBox1")
    e.Form.DropDownBox.Value = tx.Value
End If


 回到顶部
总数 26 上一页 1 2 3 下一页