示例一
例如有一个名为楼层的整数列,范围是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编辑过]