Foxtable(狐表)用户栏目专家坐堂 → 主窗口里建table报错


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

主题:主窗口里建table报错

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


加好友 发短信
等级:四尾狐 帖子:952 积分:8432 威望:0 精华:0 注册:2015/8/12 16:28:00
主窗口里建table报错  发帖心情 Post By:2019/5/28 10:55:00 [只看该作者]

If Typeof e.sender Is winform.RadioButton Then
       If e.sender.checked=True Then
             Select Case e.sender.name
                Case "customBOMtitle"
                              Dim dtb As New DataTableBuilder("BOOM")
                           dtb.AddDef("6", Gettype(String),250)
                dtb.Build()
 如果没有这个datatablebuilder的代码,就不会报错,
如果有,则会执行2次datatablebuilder
MessageBox.Show(DataTables("customBOMtitle").DataCols.count)
        End Select
    End If
End If

这段代码是在主窗口的一个RadioButton 上。发现会报错。form(新增BOM)就是主窗口
[此贴子已经被作者于2019/5/28 11:09:48编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/28 11:06:00 [只看该作者]

1、我测试没问题

 

2、你试试改成

 

If Typeof e.sender Is winform.RadioButton Then
    If e.sender.checked=True Then
        Select Case e.sender.name
            Case "RadioButton2"
                Dim dtb As New DataTableBuilder("BOOM")
                dtb.AddDef("6", Gettype(String),250)
                Tables("窗口2_Table1").DataSource = dtb.BuildDataSource

        End Select
    End If
End If

 

3、如果还是不行,请做一个对应实例发上来测试


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


加好友 发短信
等级:四尾狐 帖子:952 积分:8432 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2019/5/28 11:23:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:21312321_201905281120.zip

点击2次手册抬头就会死机。41是列的数量,也会msg包2次。

开发者密码是一个空格。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/28 12:23:00 [只看该作者]

If Typeof e.sender Is winform.RadioButton Then
   ' For Each c As Winform.RadioButton In e.Form.Controls("GroupBox1").children
     ''   c.BackColor=Color.Transparent
  '  Next
    If e.sender.checked=True Then
       ' e.sender.BackColor=Color.Lime

        Select Case e.sender.name
            'Case "customBOMconsume","customBOMlist"
                'Tables("新增BOM_Table1").DataSource = DataTables(e.sender.name)
                'Tables("新增BOM_Table1").AutoSizeHeaderRow
                'Tables("新增BOM_Table1").AutoSizeCols
            Case "customBOMtitle"
                'Dim currline As Integer
                'Dim Colline As Integer
                'colline=DataTables("customBOMtitle").DataCols.count
                'Dim dr2 As DataRow
                Dim dtb As New DataTableBuilder("BOOM")
               
                dtb.AddDef("1", Gettype(String),250)
                dtb.AddDef("2", Gettype(String),250)
                dtb.AddDef("3", Gettype(String),250)
                'dtb.AddDef("4", Gettype(String),250)
                'dtb.AddDef("5", Gettype(String),250)
                'dtb.AddDef("6", Gettype(String),250)
                Tables("新增BOM_Table1").DataSource = dtb.BuildDataSource
MessageBox.Show(DataTables("customBOMtitle").DataCols.count)
                'For Each itemcol As DataCol In DataTables("customBOMtitle").DataCols
                    'If currline <= Colline/3 Then
                        'dr2 =DataTables("BOOM").addnew
                        'dr2("1")=itemcol.Name
                        'currline +=1
'MessageBox.Show(1)
                    'ElseIf currline <= Colline/3*2 Then
                        'dr2 =DataTables("BOOM").find("[3] is null")
                        'dr2("3")=itemcol.Name
                        'currline +=1
'MessageBox.Show(2)
                    'Else
                        'dr2 =DataTables("BOOM").find("[5] is null")
                        'dr2("5")=itemcol.Name
                        'currline +=1
'MessageBox.Show(3)
                    'End If
                'Next
                ''
        End Select
    End If
End If


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


加好友 发短信
等级:四尾狐 帖子:952 积分:8432 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2019/5/28 12:27:00 [只看该作者]

你没理解我的意思。
我后来上传到实例,已经没有Tables("新增BOM_Table1").DataSource = dtb.BuildDataSource这句话了。依旧报错。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/28 12:40:00 [只看该作者]

 

控件属性->tab键顺序->改成20即可。反正,只要不是第一个即可。

 

 


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


加好友 发短信
等级:四尾狐 帖子:952 积分:8432 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2019/5/28 12:49:00 [只看该作者]

搞定了,但是不知道为啥会这样。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/28 15:52:00 [只看该作者]

以下是引用lur320在2019/5/28 12:49:00的发言:
搞定了,但是不知道为啥会这样。

 

生成表格以后,焦点会重新回到你的主窗口的第一个控件,这个时候可能触发了click事件。

 

频繁多次重复生成表的时候,就可能报错。


 回到顶部