Foxtable(狐表)用户栏目专家坐堂 → 狐表的速度啊~


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

主题:狐表的速度啊~

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


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By: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


 回到顶部