找回密码
 立即注册

QQ登录

只需一步,快速开始

byf

注册会员

11

主题

43

帖子

130

积分

注册会员

积分
130
byf
注册会员   /  发表于:2017-7-31 18:10  /   查看:10718  /  回复:20
调用WorkSheet.RemoveRows(int row,int rowcount)报错。

我将附件中的Excel导入到程序中,用spread控件显示,然后删除行,其中删除5-32行中的任意一行就会报错

blob964137878.png 错误信息就是这个。


blob465754088.png 这是删除按钮调用的代码。


private void simpleButton1_Click(object sender, EventArgs e)
        {
            try
            {
                Worksheet sheet = m_SpreadSheet.gcSpreadSheet1.ActiveSheet;

                if (sheet.Selections.Count == 0) { return; }
                CellRange cellrange = sheet.Selections[0];

                if (cellrange == null) return;

                ///选中行数
                int selectRowCount = cellrange.RowCount == -1 ?
                    sheet.RowCount : cellrange.RowCount;
                /// 选中行号
                int row = cellrange.Row == -1 ? 0 : cellrange.Row;
                sheet.RemoveRows(row,selectRowCount);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

yyyyyyyyyyyyyy.xlsx

14.01 KB, 下载次数: 247

20 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-1 10:08:14
沙发
您好,您的问题重现出来了,正在调研问题。
看代码您使用的是WPF或者SilverLight,下次您发帖请发到XAML专区,会方便处理,这次我帮您移动了。
回复 使用道具 举报
byf
注册会员   /  发表于:2017-8-1 11:56:57
板凳
dexteryao 发表于 2017-8-1 10:08
您好,您的问题重现出来了,正在调研问题。
看代码您使用的是WPF或者SilverLight,下次您发帖请发到XAML专 ...

好的,谢谢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-1 17:38:41
地板
您好,这个是产品的一个bug,删除conditionformat时候有些问题。
可以先删除条件格式,再删除行。
  1.      var range = new GrapeCity.Windows.SpreadSheet.Data.CellRange(row, -1, selectRowCount, -1);

  2.             sheet.ConditionalFormats.RemoveRule(range);
  3.             sheet.RemoveRows(row, selectRowCount);
复制代码
回复 使用道具 举报
byf
注册会员   /  发表于:2017-8-3 10:07:13
5#
添加了  sheet.ConditionalFormats.RemoveRule(range);  但还是不行啊,程序走到这句代码的时候就抛出异常了,还是未将对象引用设置到对象的实例 这个异常。
回复 使用道具 举报
byf
注册会员   /  发表于:2017-8-3 10:07:49
6#
dexteryao 发表于 2017-8-1 17:38
您好,这个是产品的一个bug,删除conditionformat时候有些问题。
可以先删除条件格式,再删除行。

添加了  sheet.ConditionalFormats.RemoveRule(range);  但还是不行啊,程序走到这句代码的时候就抛出异常了,还是未将对象引用设置到对象的实例 这个异常。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-3 17:34:12
7#
我测试了没有发现问题,可否提供下您的具体步骤,比如是删除那几行时候会报错?
回复 使用道具 举报
byf
注册会员   /  发表于:2017-8-4 18:05:02
8#
dexteryao 发表于 2017-8-3 17:34
我测试了没有发现问题,可否提供下您的具体步骤,比如是删除那几行时候会报错?

blob311731261.png blob784464721.png blob544125060.png
回复 使用道具 举报
byf
注册会员   /  发表于:2017-8-4 18:06:46
9#
dexteryao 发表于 2017-8-3 17:34
我测试了没有发现问题,可否提供下您的具体步骤,比如是删除那几行时候会报错?

我是先将EXCEL导入到控件中,然后再删除的,有时候删除某一行不报错,但有时候就出错,选中多行出错的几率会大些
回复 使用道具 举报
byf
注册会员   /  发表于:2017-8-4 18:06:57
10#
dexteryao 发表于 2017-8-3 17:34
我测试了没有发现问题,可否提供下您的具体步骤,比如是删除那几行时候会报错?

我是先将EXCEL导入到控件中,然后再删除的,有时候删除某一行不报错,但有时候就出错,选中多行出错的几率会大些
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部