以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  帮助中关于DataParse事件中代码怎么测试无效呢。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=9948)

--  作者:mr725
--  发布时间:2011/5/16 9:45:00
--  帮助中关于DataParse事件中代码怎么测试无效呢。

示例一

例如有一个名为楼层的整数列,范围是1到8,我们希望在窗口中某个TextBox中显示和编辑该列数据的时候,能够用一楼、二楼、三楼这样直观的字符表示。

首先将TextBox的DataFormat事件设为:

Dim s As String = "一二三四五六七八"
If
e.Value IsNot Nothing Then
    e.Value = Math.Min(
8, Math.Max(e.Value, 1))
    e.Value = s.SubString(e.Value-
1, 1) & "楼"

End
If

然后将DataParse设为:

Dim s As String = "一二三四五六七八"
If
e.Value IsNot Nothing Then
    If
IsNumeric(e.Value)
Then
        Return
    Elseif
e.Value Like "?楼" Then

        e.Value = e.Value.SubString(
0,1)
        e.Value = s.IndexOf(e.Value) +
1
   
End
If
End
If

经过上述设置,列中的1、2、3会自动显示为一楼、二楼、三楼,而输入一楼、二楼、三楼,会自动转换为1、2、3保存。

[此贴子已经被作者于2011-5-16 9:46:35编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/5/16 9:56:00
--  

收到,我抽空看看。


--  作者:狐狸爸爸
--  发布时间:2011/5/16 10:05:00
--  

呵呵,知道怎么回事的了,新的版本版本绑定到整数列侯,文本框的数据类型也直接设置为整数,这样就无法显示“一楼”这样的字符内容了。

所以这段帮助无效了。