以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  狐表的速度啊~  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1755)

--  作者:mr725
--  发布时间:2009/2/6 22:39:00
--  狐表的速度啊~
两万两千多条记录共两列的内容,全部选定,然后剪切~   要一分钟的时间啊,慢耶~~,还没有易表快呀!!!易表不到两秒啊~
我的系统:(不算太差吧)

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:mr725
--  发布时间:2009/2/6 22:43:00
--  

我是在玩应用编,粘贴上万行的数据,等死俺们了~


--  作者:smileboy
--  发布时间:2009/2/6 22:48:00
--  
到这一步,我们的设计目标已经完成,但是还有一个小问题,我们前面提到在表中进行剪切、粘贴的时候,会针对每一个可能会受影响的单元格触发PrepareEdit事件,这样的特性会给本例带来一些副作用,如果你在县市列复制粘贴1000行数据,那么就会触发一千次PrepareEdit事件,这可能需要一个漫长的执行过程。显然本例的PrepareEdit事件,只是针对正在编辑的单元格,也就是焦点所在单元格,对于因为受粘贴而影响的其他单元格,并没有必要执行此事件。为此,我们将PrepareEdit事件代码改为:

If e.IsFocusCell Then \'如果是焦点所在单元格
   
If e.Col.Name = "县市" Then \'如果正在编辑的是县市列
       
If e.Row.IsNull("省市") Then \'如果省市列的内容为空
            e.Col.Combolist = "" \'清除县市列的列表项目
       
Else
           
\'从行政区域表提取该省事的县市作为列表项目
            e.Col.Combolist = DataTables("行政区域").GetComboListString("县市", "[省市] = \'" & e.Row("省市") & "\'")
        End If
    End
If
End
If


--  作者:mr725
--  发布时间:2009/2/6 22:57:00
--  

一个新文件的空表,没有写过任何代码,也会这样吗?

[此贴子已经被作者于2009-2-6 22:57:28编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/2/7 0:08:00
--  
粘贴和剪切,要触发很多事件,费时正常。
但是foxtable不是电子表格,是一个数据管理软件,会经常几千几万行这样大面积去剪切和粘贴吗?

所以,你的担心完全多余,foxtable谈不上高速,但是大部分日常操作的效率高于易表。
[此贴子已经被作者于2009-2-7 0:08:05编辑过]

--  作者:kylin
--  发布时间:2009/2/7 11:46:00
--  
以下是引用hnaysx在2009-2-7 9:14:00的发言:

能否加一个选项 关闭表的事件? 表仅仅用来显示数据,对于需要设置事件的 放在 窗体的表格控件中

这个提议相当好,支持!


--  作者:mr725
--  发布时间:2009/2/7 19:23:00
--  
以下是引用hnaysx在2009-2-7 9:14:00的发言:

能否加一个选项 关闭表的事件? 表仅仅用来显示数据,对于需要设置事件的 放在 窗体的表格控件中

支持~!!!  有助于玩应用编的狐仔。 或现设计好狐表的表框架,再粘贴其他表的大量的数据过来,如(excel表的数据)。

[此贴子已经被作者于2009-2-7 19:24:16编辑过]

--  作者:林中侠
--  发布时间:2009/2/8 18:01:00
--  
从电子表导入数据的办法,速度会一些吗?
以前我用易表复制大量数据,速度慢时,采用导入速度就快多了。不知狐表是不是这样 的。
--  作者:mr725
--  发布时间:2009/2/8 20:48:00
--  
以下是引用林中侠在2009-2-8 18:01:00的发言:
从电子表导入数据的办法,速度会一些吗?
以前我用易表复制大量数据,速度慢时,采用导入速度就快多了。不知狐表是不是这样 的。

 导入的速度还是相当的不错的~ 导入两万条40列的Excel数据15妙,我引入20万条外部(局域网服务器上)sql数据库的数据,三两分钟就ok了。

易表复制粘贴两万条四十列的数据只要2、3秒钟啊~不会太慢!!!~ 但在foxtable中这样做可能有十几二十分钟,受不了啊~

[此贴子已经被作者于2009-2-8 20:51:22编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/2/8 21:14:00
--  
呵呵,用其所长即可。