设计一个模式窗口,导入数据。代码如下
Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
dlg.Filter= "Excel 工作薄(*.xls)|*.xls|Excel 工作薄(*.xlsx)|*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.OK Then
Dim nms() As String = {"统一社会信用代码","单位名称"}
For j As Integer = 3 To Sheet.Rows.count - 1
Dim bh As String = Sheet(j,5).Text
Dim drj As DataRow = DataTables("往来单位").SQLFind("单位名称 = '" & bh & "'")
If drj Is Nothing Then '如果当前表没找到此列
Dim dr As DataRow = DataTables("往来单位").AddNew()
For jj As Integer = 4 To 5
Dim m As Integer = jj-4
dr(nms(m)) = sheet(j,jj).Value
dr("录入日期") = Date.Today()
dr("录入人") = _username
Next
End If
Next
End If
MessageBox.Show("数据导入完毕!")
往来单位表,表属性DATACOLCHANGED事件,根据单位名称自动生成类别。
Select e.DataCol.Name
Case "单位名称"
If e.DataRow.IsNull("单位名称") = True Then '如果往来单位表里单位名称是空值
'e.DataRow("单位编号") = Nothing
e.DataRow("类别") = Nothing
Else If e.DataRow.IsNull("单位名称") = False Then '------------------------如果往来单位里的单位名称有值
'------------------------------------------如果类别是空,则自动生成类别---开始---------------------
If e.DataRow.IsNull("类别") = True Then '如果类别是空
If AsC(e.DataRow("单位名称")) > 0 Then '如果单位名称是英文
e.DataRow("类别") = "客户"
Else
Dim ss As String = e.DataRow("单位名称")
If ss.Length < 4 Then
e.DataRow("类别") = "个人"
Else
e.DataRow("类别") = "工厂"
End If
End If
End If
end if
End Select
在设计预览模式时,能导入数据,但是不能自动生成类别。
正式运行程序,能导入数据,也能自动生成类别。
请教一下,怎么修改代码才能在设计预览模式时也能自动生成类别。