我才发觉一个问题,
表属性中的datacolchanged 这个事件
似乎是每次只要有一个数据变化,就会造成程序重复运行,效率很差,
我实验了系统自己带的“自动输入”案例
在其中插入一些对话框,按照正常的思维,应该是从1->2->3->4 or 1->2->5->6 , 但实际上每次从1->2后,就会再次到1再到2,如果找到数据,就到3,这时候数据发生变化,又从1->2->4, 等于重复运行程序很多遍,这里面只有2行数据需要自动输入,如果是几十行数据要自动输入,那速度慢的好像蜗牛一样,
做一个按钮来运行,可以解决这个重复运行问题,但是我希望是简单化,不想再用一个按钮,是否有其他方法? 我修改后的附件请看
MessageBox.Show(1)
'如果刚刚输入的是省市或县市列
If e.DataCol.Name = "省市" OrElse e.DataCol.Name = "县市" Then
Dim dr As DataRow
'在行政区域表查找所输入省市和县市的行
dr = DataTables("行政区域").Find("[省市] = '" & e.DataRow("省市") & "' And [县市] = '" & e.DataRow("县市") & "'")
MessageBox.Show(2)
If dr IsNot Nothing Then '如果找到
'将找到行的区号?邮编内容填入到正在输入的行中.
e.DataRow("区号") = dr("区号")
MessageBox.Show(3)
e.DataRow("邮编") = dr("邮编")
MessageBox.Show(4)
Else
'否则清除区号和邮编两列的内容
e.DataRow("区号") = Nothing
MessageBox.Show(5)
e.DataRow("邮编") = Nothing
MessageBox.Show(6)
End If