以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  全局表事件DrawCell不起作用  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133097)

--  作者:ZJZK2018
--  发布时间:2019/4/6 16:44:00
--  全局表事件DrawCell不起作用
为什么全局表事件DrawCell中写入下面代码不起作用?
\'\'帐号每4个数字加空格
For Each cl As Col In e.Table.Cols
    If cl.IsString AndAlso e.Col.Name.Contains("开户帐号") Then
        e.Text = e.Text.Replace(" ","")
        Dim m As Integer = e.Text.Length
        For n As Integer = 4 To m + m\\4  Step 5
            e.Text = e.Text.Insert(n," ")
        Next
    End If
Next

1、我用的是外部表
2、我在项目事件Initialize已开启DrawCell

\'\'==============开启全局表事件============

For Each dt As DataTable In DataTables   \'开启表事件     

    dt.GlobalHandler.PrepareEdit = True

    dt.GlobalHandler.BeforeDeleteDataRow = True

    dt.GlobalHandler.KeyDown = True

    dt.GlobalHandler.DataColChanged = True

    dt.GlobalHandler.Click = True

    dt.GlobalHandler.DataRowAdding = True

    dt.GlobalHandler.DataRowAdded = True

    dt.GlobalHandler.DrawCell = True

    dt.GlobalHandler.MouseEnterCell = True

    dt.GlobalHandler.MouseLeaveCell = True

    dt.GlobalHandler.DataRowDeleting = True

Next





--  作者:有点蓝
--  发布时间:2019/4/6 17:28:00
--  
1、如果表属性有DrawCell ,不会执行全局的DrawCell 事件
2、如果是窗口表,sqltable类型,或者使用fill。DataSource重新绑定窗口表的,在绑定后需要重新开启DrawCell 事件