一个DataGrid中数据转换的问题!急!!有答案即结贴!!!
我在DataGrid的数据编辑过程中是用了代码,用户输入代码后,DataGrid中的数据进行自动转换,但问题出来了:
我的代码如下:
Private Sub DataGrid4_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If DataGrid4.Col = 5 Then
SendKeys "{left}"
SendKeys "{left}"
SendKeys "{left}"
SendKeys "{left}"
SendKeys "{left}"
Else
If DataGrid4.Col = 3 Then
If Left(LTrim(DataGrid4.Columns(3).Text), 2) = "00" Then DataGrid4.Columns(3).Text = "江苏"
If Left(LTrim(DataGrid4.Columns(3).Text), 2) = "01" Then DataGrid4.Columns(3).Text = "北京"
If Left(LTrim(DataGrid4.Columns(3).Text), 2) = "02" Then DataGrid4.Columns(3).Text = "天津"
If Left(LTrim(DataGrid4.Columns(3).Text), 2) = "03" Then DataGrid4.Columns(3).Text = "河北"
……
Print DataGrid4.Columns(3).Text '看看代码是否进行了转换,结果已转换
DataGrid4.Refresh
SendKeys "{right}"
Else
SendKeys "{right}"
End If
End If
End If
End Sub
1、为什么在窗体中打印出来的是汉字“北京”(代码为01)而非代码,而DataGrid4.Columns(3).Text 中却一直显示的是代码“01”呢?
2、只能在第二次获得再失去焦点后才能转换成汉字“北京”
本人也曾用ADODC间接获得数据并进行更新,虽然表中数据暂时更新了,但DataGrid中还是显示代码,按理说ADODC已与DataGrid绑定,是应该显示表中的数据的呀
请高手帮忙啊!先谢谢了!!!!!!!!