找回密码
 立即注册

QQ登录

只需一步,快速开始

dapsjj
初级会员   /  发表于:2016-11-4 08:05  /   查看:3822  /  回复:1
本帖最后由 dapsjj 于 2016-11-4 08:59 编辑

想要点击一个全选按钮,当按钮按下时,将Spread中第3列的复选框全部选中,请问Spread中代码部分要怎么写能实现这个全选功能?
现在的问题是每一行的第四列的值是0或者是1,如果全选时,被选中的那一行的第四列的值是1,那么要把所有的复选框被选中的状态取消,请问如何将第三列的复选框的所有的被选中的状态清空?因为下述代码循环的时候如果发现某行第4列是1,那么把该行以上行的复选框都清空,除了写2层循环外有办给spread的第三列全部赋值成0吗?
代码为:

  1. for (int i = 0; i < sprshow.Sheets[0].Rows.Count; i++) {
  2.                  int col4_value = int.Parse(sprshow.Sheets[0].Cells[i, 3].Value.ToString());//第4列的值
  3.                  if (col4_value==1)
  4.                  {
  5.                      for (int j = 0; j <= i;j++ )
  6.                      {
  7.                          sprshow.Sheets[0].Cells[j, 2].Value = 0;
  8.                      }
  9.                      MessageBox.Show("第四列有值是1,不能全选.");
  10.                      break;
  11.                 }
  12.                 sprshow.Sheets[0].Cells[i, 2].Value = true;
  13.             }
复制代码





1 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-4 08:56:09
沙发
有个setArray方法可以一次给区域赋值,但其实内部还是循环。效率是一样的,不过能简化一些代码

http://sphelp.grapecity.com/webh ... Sheet~setArray.html

评分

参与人数 1满意度 +5 收起 理由
dapsjj + 5 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部