以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  DataMap 为什么取不到值?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103069)

--  作者:zhsenchzhi
--  发布时间:2017/6/30 1:09:00
--  DataMap 为什么取不到值?
给某表 的某列 加了 一个 DataMap , 在界面上 能够正确显示, 但是 我想通过 这个 DataMap ,取相对应的值,为什么取不到呢?  代码如下

If Tables(TableName).Cols(ColName).DataMap IsNot Nothing  Then
    Dim dm As DataMap = Tables(TableName).Cols(ColName).DataMap
\'msgbox(dm.ToString)
\'msgbox( ColValue)
    Dim displayColValue As String = dm(ColValue)                \' 运行到这一步时, DataMap  和  ColValue  都对, 但就是取不到值
    If displayColValue IsNot Nothing AndAlso displayColValue.trim.Length > 0 Then
        Return displayColValue 
    End If
End If

应该怎么办呢?

--  作者:有点甜
--  发布时间:2017/6/30 9:33:00
--  
 如果你是通过 CreateDataMap 方式赋值的,是无法反向获取的。
[此贴子已经被作者于2017/6/30 9:33:00编辑过]

--  作者:zhsenchzhi
--  发布时间:2017/6/30 9:55:00
--  
并不是 反向获取 呀, 和表的显示是一样的, 假如  1  在表中显示 a, 现在仍然是想 通过 1 来获得 a 呀, 并不是 想通过  a 来获得  1
--  作者:有点甜
--  发布时间:2017/6/30 9:58:00
--  
 无法操作datamap取值。
--  作者:zhsenchzhi
--  发布时间:2017/6/30 11:28:00
--  
可是我需要这么做,该怎么办呢?
--  作者:有点甜
--  发布时间:2017/6/30 12:22:00
--  
以下是引用zhsenchzhi在2017/6/30 11:28:00的发言:
可是我需要这么做,该怎么办呢?

 

你的datamap是根据什么生成的?在哪里生成的?要在源头处理。


--  作者:zhsenchzhi
--  发布时间:2017/6/30 12:48:00
--  
我是想做一个通用的, 判断一列是否有 dataMap, 有的话 就取值,没有就显示原值, 和 表 的原理一样

可是我搞不明白, 为什么 表可以从 DataMap 里面取值, 别的程序就不行呢?

百思不得其姐

--  作者:有点蓝
--  发布时间:2017/6/30 14:44:00
--  

[此贴子已经被作者于2017/6/30 15:34:06编辑过]

--  作者:有点甜
--  发布时间:2017/6/30 15:05:00
--  

如果是取值,参考

 

Dim map = Tables("表A").Cols("第一列").DataMap
For Each key As String In map.keys
    output.show(key & " : " & map(key))
Next


--  作者:zhsenchzhi
--  发布时间:2017/6/30 15:48:00
--  
我现在 就是 通过 map(key) 取不到值呀