以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  全局表和数据表的DRAWCELL事件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=74798)

--  作者:lake163
--  发布时间:2015/9/19 10:53:00
--  全局表和数据表的DRAWCELL事件
以下代码在数据表DrawCell事件中运行正常,能将日期列格式调整


        If  e.Col.isdate AndAlso e.Text > "" Then

          e.Text = Format(cdate(e.text), "yy-MM")

        End If



因为不少表中都有日期列,所以想将其移到全局表的DrawCell 事件中,没有作用,请帮忙看下。


另外,使用列属性判别的方法,是否会比直接指定列名称(case "出生时间","工作时间"等)效率低啊。


初始化事件中已写入以下代码

For Each dt As DataTable In DataTables    \'打开全局事件的作用

    dt.GlobalHandler.AfterEdit = True

    dt.GlobalHandler.DataColChanged = True

    dt.GlobalHandler.Drawcell = True

Next



[此贴子已经被作者于2015/9/19 10:56:29编辑过]

--  作者:大红袍
--  发布时间:2015/9/19 11:10:00
--  
窗口表:副本表、SqlTable表、SqlQuery表,是在窗口打开的时候才生成的,你要在afterLoad事件给其绑定drawcell事件才行;
--  作者:lake163
--  发布时间:2015/9/19 11:43:00
--  
超版好,我是菜鸟,能否明示如何绑定啊!
[此贴子已经被作者于2015/9/19 11:43:52编辑过]

--  作者:大红袍
--  发布时间:2015/9/19 11:57:00
--  

比如

 

e.Form.Controls("Table1").Table.DataTable.GlobalHandler.Drawcell = True


--  作者:lake163
--  发布时间:2015/9/19 12:18:00
--  
 谢谢!