Foxtable(狐表)用户栏目专家坐堂 → 关于Select Case。


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

主题:关于Select Case。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/8/10 22:15:00 [只看该作者]

以下是引用wcs在2010-8-10 22:04:00的发言:

用数据填充器取来的。

 

我不知道是一行一行取来的,还是一个单元格一个单元格取来的。

 

如果是后者,那我的代码效率就低了,要触发5次。

[此贴子已经被作者于2010-8-10 22:05:54编辑过]

 

是一个单元格一个单元格进行填充的,每填充一个单元格都会触动一次代码。

为验证以上的说法,你可以在新文件中进行测试,在DataColChanged设置下面的代码后,再执行填充操作就可以看到结果了。

 

Select Case e.DataCol.name
    Case "第一列","第二列","第三列","第四列","第五列"
        MessageBox.Show(e.DataCol.name)
End Select


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/8/10 22:17:00 [只看该作者]

如果将上面的代码改成下面这样你可以看到填充进来的值。

 

Select Case e.DataCol.name
    Case "第一列","第二列","第三列","第四列","第五列"
        MessageBox.Show(e.DataRow(e.DataCol.name))
End Select


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


加好友 发短信
等级:五尾狐 帖子:1034 积分:7402 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2010/8/10 23:22:00 [只看该作者]

如何关闭执行代码啊?

 

如果用For Each,我得再写大段的代码。


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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2010/8/11 0:06:00 [只看该作者]

以下是引用wcs在2010-8-10 23:22:00的发言:

如何关闭执行代码啊?

 

如果用For Each,我得再写大段的代码。

不知道到底产生了多大的影响,充填数据一般是不会很多行的吧。


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/8/11 0:34:00 [只看该作者]

以下是引用wcs在2010-8-10 23:22:00的发言:

如何关闭执行代码啊?

 

如果用For Each,我得再写大段的代码。

 

增加个逻辑型全局变量,默认为true,填充时设为false,填充完成后设为true,在原代码前增加一个判断,全局变量为true执行代码,反之不执行。

填充完成后用RaiseDataColChanged方法进行重置即可。

[此贴子已经被作者于2010-8-11 0:36:00编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1034 积分:7402 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2010/8/11 9:07:00 [只看该作者]

明白了。

 

计算代码效率可能要高一些,但这样按键中的代码很长很长。

 

在事件中写代码,用全局变量和RaiseDataColChanged,也是可行的。


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/8/11 12:34:00 [只看该作者]

以下是引用wcs在2010-8-11 9:07:00的发言:

明白了。

 

计算代码效率可能要高一些,但这样按键中的代码很长很长。

 

在事件中写代码,用全局变量和RaiseDataColChanged,也是可行的。

 

如果按我说的这样做,和重新写计算代码效率不会有差别的。


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


加好友 发短信
等级:狐神 帖子:6831 积分:43213 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2010/8/11 12:39:00 [只看该作者]

楼主循环引用,要死机的。无法实现。

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


加好友 发短信
等级:五尾狐 帖子:1034 积分:7402 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2010/8/11 12:51:00 [只看该作者]

我理解CZY说的。

 

但因为我要从多种数据源中提取数据来,数据结构的差异性比较大,e事件就要写得较复杂。

 

我还是不在事件里写代码了,直接在按键里写算了。

 

 


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/8/11 12:51:00 [只看该作者]

以下是引用lihe60在2010-8-11 12:39:00的发言:
楼主循环引用,要死机的。无法实现。

 

楼主的代码没有看出有循环引用。

如果这行代码:代码...... = 第一列至第五列 引用了第一列至第五列,那才叫循环引用。


 回到顶部
总数 20 上一页 1 2