改成这样
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.name '判断发生数据更改的列列名是不是我们要的列名
Case "商品简名", "品牌", "自定义分类"
If e.NewValue = Nothing Then '如果新录入的数据为空
e.DataRow("商品全名") = Nothing '则对应行的商品拼音码录入空值
Else '如果有录入,则执行下面的代码
If dr.IsNull("自定义分类") Then
If dr.IsNull("品牌") Then
e.DataRow("商品全名") = dr("商品简名")
Else
e.DataRow("商品全名") = (dr("品牌") & dr("商品简名"))
End If
Else
If dr.IsNull("品牌") Then
e.DataRow("商品全名") = (dr("自定义分类") & dr("商品简名"))
Else
e.DataRow("商品全名") = (dr("品牌") & dr("自定义分类") & dr("商品简名")) '则如果品牌,商品?自定义分类全部有数据
End If
End If
End If
Case "商品全名" '如果列名是"商品全名"则执行下面的语句
If e.NewValue = Nothing Then '如果新录入的数据为空
e.DataRow("商品拼音码") = Nothing '则对应行的商品拼音码录入空值
Else '如果有录入,则执行下面的代码
e.DataRow("商品拼音码") = getpinyin(e.NewValue ,1) '将信录入的内容以拼音码的的形式录入商品拼音码
End If
End Select