If e.DataCol.Name = "身份证号码" Then '如果更改的是身份证号码列
If e.DataRow.IsNull("身份证号码") Then '身份证号码是否为空
e.DataRow("出生年") = Nothing '如果为空,则清除出生日期
e.DataRow("出生月") = Nothing
e.DataRow("出生日") = Nothing
e.DataRow("性别") = Nothing
Else
'否则从身份证号码列中提取出生日期
Dim sr As String = CLDate(ReadBirthday(e.NewValue))
e.DataRow("出生年") = sr.SubString(0,4)
Dim yue As String = sr.SubString(6,1)
If yue ="月" Then
e.DataRow("出生月") = sr.SubString(5,1)
If sr.SubString(8,1) ="日" Then
e.DataRow("出生日") = sr.SubString(7,1)
ElseIf sr.SubString(9,1) = "日"
e.DataRow("出生日") = sr.SubString(7,2)
ElseIf sr.SubString(10,1) = "日"
e.DataRow("出生日") = sr.SubString(7,3)
End If
Else
e.DataRow("出生月") = sr.SubString(5,2)
If sr.SubString(9,1) ="日" Then
e.DataRow("出生日") = sr.SubString(8,1)
ElseIf sr.SubString(9,1) = "日"
e.DataRow("出生日") = sr.SubString(8,2)
ElseIf sr.SubString(9,1) = "日"
e.DataRow("出生日") = sr.SubString(8,3)
End If
End If
e.DataRow("性别") = ReadSex(e.DataRow("身份证号码"))
End If
End If