以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  时间日期 引用为文本时 出现时分秒  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=85626)

--  作者:jwt
--  发布时间:2016/5/30 15:40:00
--  时间日期 引用为文本时 出现时分秒
日期格式的列,在其他表内引用时,因每个数据对应多个时间格式,所以只能用列属性 只能设为文本格式,引用的数据就会出现 时 分 秒 ,可否有办法解决?附图
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2016/5/30 16:50:00
--  

如果是表达式引用的话,没有办法处理,只能用DrawCell了

 

if e.Col.Name = "这一列" AndAlso e.Text > ""  Then

    Dim dt Date

    If Date.TryParse(e.Text,dt) then

         e.Text = Format(dt,"yyyy-MM-dd")

    End if

End If

 

如果你是通过代码引用的,那么应该不用我告诉你该如何处理了。


--  作者:jwt
--  发布时间:2016/5/31 10:10:00
--  
狐爸,我没理解明白,我简述一下哈,捋捋,表A,中有日期格式“a列”,表B中有文本格式“b列”,表B的 b列 引用表A中 的 a列 ,表B中1条数据对应表A中多条数据,按照狐爸说的,我采用drawcell,只能是在表A中设置,然后表B引用,经过测试,b列中引用后还是原来的 含 时 分 秒。我是用代码引用的数据。幼狐愚钝,请狐爸明示。

我理解的,如果b列,只有对应表A中一个日期,那么我可以直接在表B中设置drawcell代码,但是对应多个,代码应该是不好使的,不知理解是否正确。
[此贴子已经被作者于2016/5/31 10:14:04编辑过]

--  作者:大红袍
--  发布时间:2016/5/31 10:13:00
--  
 你如何从表A引用数据过来的?写代码?代码怎么写?
--  作者:jwt
--  发布时间:2016/5/31 10:16:00
--  
在datacolchanged 中,
Select Case e.DataCol.name
    Case "身份证号"
e.DataRow("职称_公布时间") = DataTables("职称证登记表").GetComboListString("公布时间","[身份证号码] = \'" & e.NewValue &  "\'")
End Select

--  作者:大红袍
--  发布时间:2016/5/31 10:18:00
--  

替换掉就行了

 

e.DataRow("职称_公布时间") = DataTables("职称证登记表").GetComboListString("公布时间","[身份证号码] = \'" & e.NewValue &  "\'").Replace(" 0:00:00", "")


--  作者:jwt
--  发布时间:2016/5/31 10:20:00
--  
额,这么简单啊,这样的话我也没必要在表A中的绘制中写代码了,净拖慢系统运行啊