Foxtable(狐表)用户栏目专家坐堂 → [求助]有选择的输入数据字典


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

主题:[求助]有选择的输入数据字典

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


加好友 发短信
等级:婴狐 帖子:20 积分:256 威望:0 精华:0 注册:2015/4/7 13:05:00
[求助]有选择的输入数据字典  发帖心情 Post By:2017/10/25 11:47:00 [只看该作者]


DataColChanged事件中输入以下代码:
select case e.datacol.name
case "是否来源于合作单位"
    if e.datarow("是否来源于合作单位") = true then
       Dim dmp As New TableDataMap
       dmp.DataTable = "合作单位" '指定数据来源表
       dmp.ValueCol = "合作单位联系人姓名" '指定取值列
       dmp.DisplayCol = "合作单位联系人姓名" '指定显示列
       '指定下拉列表时显示哪些列的数据
       dmp.ListCols = "合作单位编号,合作单位名称,合作单位联系人姓名,合作单位联系人职务"
       dmp.Sort = "合作单位编号" '指定排序方式
       e.datarow("企业客户来源个人编号").DataMap = dmp.CreateDataMap() '生成并设置DataMap
    else
       Dim dmp As New TableDataMap
       dmp.DataTable = "HFCW人员花名册" '指定数据来源表
       dmp.ValueCol = "工号" '指定取值列
       dmp.DisplayCol = "工号" '指定显示列
       '指定下拉列表时显示哪些列的数据
       dmp.ListCols = "工号,姓名,所属部门,职务"
       dmp.Sort = "工号" '指定排序方式
       e.datarow("企业客户来源个人编号").DataMap = dmp.CreateDataMap() '生成并设置DataMap
    end if
end select

然后出现以下错误提示:

.NET Framework 版本:2.0.50727.8794
Foxtable 版本:2017.8.19.1
错误所在事件:表,市场客户表,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到类型“String”的公共成员“DataMap”。

请问该怎么解决呢?


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


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

代码改到AfterEdit事件

然后要绑定的是列不是行

Select Case e.Col.name
Case "是否来源于合作单位"
    If e.Row("是否来源于合作单位") = True Then
       Dim dmp As New TableDataMap
       dmp.DataTable = "合作单位" '指定数据来源表
       dmp.ValueCol = "合作单位联系人姓名" '指定取值列
       dmp.DisplayCol = "合作单位联系人姓名" '指定显示列
       '指定下拉列表时显示哪些列的数据
       dmp.ListCols = "合作单位编号,合作单位名称,合作单位联系人姓名,合作单位联系人职务"
       dmp.Sort = "合作单位编号" '指定排序方式
       e.Cols("企业客户来源个人编号").DataMap = dmp.CreateDataMap() '生成并设置DataMap
    Else
       Dim dmp As New TableDataMap
       dmp.DataTable = "HFCW人员花名册" '指定数据来源表
       dmp.ValueCol = "工号" '指定取值列
       dmp.DisplayCol = "工号" '指定显示列
       '指定下拉列表时显示哪些列的数据
       dmp.ListCols = "工号,姓名,所属部门,职务"
       dmp.Sort = "工号" '指定排序方式
       e.Cols("企业客户来源个人编号").DataMap = dmp.CreateDataMap() '生成并设置DataMap
    End If
End Select

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


加好友 发短信
等级:婴狐 帖子:20 积分:256 威望:0 精华:0 注册:2015/4/7 13:05:00
  发帖心情 Post By:2017/10/25 12:51:00 [只看该作者]

老师:
      你好!
      我在AfterEdit事件中输入以下代码:
Select Case e.Col.name
Case "是否来源于合作单位"
    If e.Row("是否来源于合作单位") = True Then
       Dim dmp As New TableDataMap
       dmp.DataTable = "合作单位" '指定数据来源表
       dmp.ValueCol = "合作单位联系人姓名" '指定取值列
       dmp.DisplayCol = "合作单位联系人姓名" '指定显示列
       '指定下拉列表时显示哪些列的数据
       dmp.ListCols = "合作单位编号,合作单位名称,合作单位联系人姓名,合作单位联系人职务"
       dmp.Sort = "合作单位编号" '指定排序方式
       e.table.Cols("企业客户来源个人编号").DataMap = dmp.CreateDataMap() '生成并设置DataMap
    Else
       Dim dmp As New TableDataMap
       dmp.DataTable = "HFCW人员花名册" '指定数据来源表
       dmp.ValueCol = "工号" '指定取值列
       dmp.DisplayCol = "工号" '指定显示列
       '指定下拉列表时显示哪些列的数据
       dmp.ListCols = "工号,姓名,所属部门,职务"
       dmp.Sort = "工号" '指定排序方式
       e.table.Cols("企业客户来源个人编号").DataMap = dmp.CreateDataMap() '生成并设置DataMap
    End If
End Select
测试后发现以下问题:
1、在不勾选某一行“是否来源于合作单位”("是否来源于合作单位" = false)后,可以正常选择输入当前行的"企业客户来源个人编号";
2、在勾选下一行"是否来源于合作单位"("是否来源于合作单位" = true)后,前几行输入的"企业客户来源个人编号"值消失了,不过可以正常输入当前行的"企业客户来源个人编号";
3、再次勾选当前行的"是否来源于合作单位"("是否来源于合作单位" = false)后,前几行输入的"企业客户来源个人编号"值又出现了,但是当前行输入的"企业客户来源个人编号"值消失了。
请问以上问题该怎么解决啊?


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


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

1、数据字典做不到你需要的功能;数据字典重新设置后,不在数据字典里面的项目,会显示空白。

 

2、用这种方法吧 http://www.foxtable.com/webhelp/scr/2465.htm

 


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


加好友 发短信
等级:婴狐 帖子:20 积分:256 威望:0 精华:0 注册:2015/4/7 13:05:00
  发帖心情 Post By:2017/10/25 13:02:00 [只看该作者]

好的,非常感谢老师!

 回到顶部