找回密码
 立即注册

QQ登录

只需一步,快速开始

chenf1980

论坛元老

41

主题

147

帖子

9349

积分

论坛元老

积分
9349

活字格认证

chenf1980
论坛元老   /  发表于:2011-7-1 17:23  /   查看:5345  /  回复:1
MultiRow里面有500多行数据,现在点击Button1,需要把最后一行以外的单元格设置成selectable = false,也就是说不能点击。但是现在这样一个一个单元格循环设置,发现过于缓慢。都能明显看到一行一行的往下设置。

请问下,有没有速度快一点的方法?

1 个回复

倒序浏览
robert
金牌服务用户   /  发表于:2011-7-2 14:33:00
沙发
在设置Selectable的时候如果被设置的Cell刚好是CurrentCell,MultiRow需要寻找一个新的位置去设定CurrentCell,性能的损耗就发生在同步CurrentCell的过程。所以

在循环设置Selectable属性之前调用以下代码.就可以避免MultiRow不停的同步CurrentCell。

C#
  1. gcMultiRow1.CurrentCell = null;

  2. for (int i = 0; i < rowCount; i++)
  3. {
  4.         for (int j = 0; j < cellCount; j++)
  5.         {
  6.              this.gcMultiRow1[i, j].Selectable = false;
  7.         }
  8. }
复制代码
VB
  1. gcMultiRow1.CurrentCell = Nothing

  2. For i As Integer = 0 To rowCount - 1
  3.         For j As Integer = 0 To cellCount - 1
  4.                 Me.gcMultiRow1(i, j).Selectable = False
  5.         Next
  6. Next
复制代码
希望可以帮助您解决这个问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部