Foxtable(狐表)用户栏目专家坐堂 → 窗口导入数据在设计预览时不能触发表属性DATACOLCHANGED事件


  共有1681人关注过本帖树形打印复制链接

主题:窗口导入数据在设计预览时不能触发表属性DATACOLCHANGED事件

帅哥哟,离线,有人找我吗?
keli0917
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:256 积分:2425 威望:0 精华:0 注册:2018/5/21 16:49:00
窗口导入数据在设计预览时不能触发表属性DATACOLCHANGED事件  发帖心情 Post By:2020/2/23 10:27:00 [只看该作者]

设计一个模式窗口,导入数据。代码如下

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

 

 

在设计预览模式时,能导入数据,但是不能自动生成类别。

正式运行程序,能导入数据,也能自动生成类别。

请教一下,怎么修改代码才能在设计预览模式时也能自动生成类别。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/23 21:03:00 [只看该作者]

不可能的,具体请上传实例说明

 回到顶部