Foxtable(狐表)用户栏目专家坐堂 → 窗口内表格动态添加列很慢,求问原因


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

主题:窗口内表格动态添加列很慢,求问原因

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


加好友 发短信
等级:婴狐 帖子:31 积分:375 威望:0 精华:0 注册:2015/7/23 17:13:00
窗口内表格动态添加列很慢,求问原因  发帖心情 Post By:2016/5/17 9:58:00 [显示全部帖子]

 前提
1.动态数据源
2.窗口内表类型为SQLTable
3.动态添加列代码为DataTables(tbname).DataCols.add(colname, Gettype(String))
4.开发时使用预览或者窗口命令开窗时速度都可以,整体打开项目时每条DataTables(tbname).DataCols.add(colname, Gettype(String))命令耗时1秒左右


我想在窗口中动态做一张表格,然后加载数据,现在的做法是
1.删除之前的默认数据和默认列
2.动态添加列
3.动态加载数据

如果有什么其他的做法能达到我要是效果也可以

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


加好友 发短信
等级:婴狐 帖子:31 积分:375 威望:0 精华:0 注册:2015/7/23 17:13:00
  发帖心情 Post By:2016/5/17 10:27:00 [显示全部帖子]

我在这个新创建表上加了一些事件

比如某列是什么值的时候颜色要标注,当前列变化了要跟着变化等等,所以查询表应该不行吧


现在很尴尬的是工程太大我根本没办法传,然后做测试工程速度都很快,唉

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


加好友 发短信
等级:婴狐 帖子:31 积分:375 威望:0 精华:0 注册:2015/7/23 17:13:00
  发帖心情 Post By:2016/5/17 10:31:00 [显示全部帖子]

Dim tbname As String = args(0)
Dim colname As String
Dim coltype As Integer

For i As Integer = 1 To Args.Length - 2
    colname = args(i)
    coltype = args(i+1)
    Dim  dt As Date = Date.now
    Select coltype
        Case 1 '使用String类型
            DataTables(tbname).DataCols.add(colname, Gettype(String))
        Case 2 '使用Date类型
            DataTables(tbname).DataCols.add(colname, Gettype(Date))
        Case 3 '使用Integer类型
            DataTables(tbname).DataCols.add(colname, Gettype(Integer))
        Case 4 '使用备注类型
            DataTables(tbname).DataCols.add(colname, Gettype(String), 255)
    End Select
    i = i + 1

MessageBox.show((Date.now -dt).Totalseconds)
Next




这是我动态添加列的函数


图片点击可在新窗口打开查看图片点击可在新窗口打开查看     这是我的时间打印信息

 回到顶部