找回密码
 立即注册

QQ登录

只需一步,快速开始

hibonetsz

初级会员

8

主题

24

帖子

238

积分

初级会员

积分
238

活字格认证

hibonetsz
初级会员   /  发表于:2016-7-6 11:36  /   查看:7236  /  回复:13
捕获.PNG
代码如下:
int toprowindex = this.fps_ErrorInfo.GetViewportTopRow(0);
                int bottomrowindex = this.fps_ErrorInfo.GetViewportBottomRow(0);
                int leftcolindex = this.fps_ErrorInfo.GetViewportLeftColumn(0);
                int rightcolindex = this.fps_ErrorInfo.GetViewportRightColumn(0);

可获得的 bottomrowindex和rightcolindex都不正确,数值上差了一些,请教原因!

13 个回复

正序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-7-12 12:00:24
14#
不客气。
回复 使用道具 举报
hibonetsz
初级会员   /  发表于:2016-7-12 11:36:40
13#
好的,看来是该版本的bug,谢谢了!
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-7-12 09:30:28
12#
hibonetsz 发表于 2016-7-11 20:29
程序详见附件,spread版本4.0,请指导!


Demo 我已收到,
我修改代码如下
        private void tb_selectrow_Click(object sender, EventArgs e)
        {
            //this.fpSpread2.ActiveSheet.AddSelection(this.fpSpread2.ActiveSheet.ActiveRowIndex, -1, 1, -1);

            this.fpSpread2.ActiveSheet.ActiveRowIndex = 20;
            this.fpSpread2.ActiveSheet.AddSelection(20, -1, 1, -1);
        }
然后运行,在添加到行后 再隐藏一些行,然后点击 选择行 是可以选择到21行的。不知您是否还有其他操作。另外由于4.0比较老了,我这暂时没有环境测试,如果我的操作步骤没有问题,那可能就是老版本的bug,建议升级新版本。 blob521254271.png

回复 使用道具 举报
hibonetsz
初级会员   /  发表于:2016-7-11 20:29:33
11#
程序详见附件,spread版本4.0,请指导!

table.rar

1.59 MB, 下载次数: 104

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-7-11 14:11:21
10#
您好,我隐藏行后设置选择没有重现问题。可否上传您可以重写问题的程序上来。简单的程序,能重现问题就行。
回复 使用道具 举报
hibonetsz
初级会员   /  发表于:2016-7-11 13:55:22
9#
捕获.PNG
现在的问题是这样的,如图,表中有部分行被隐藏了,在这种情况下我用代码实现使末尾几行变为选中状态时,始终实现不了。
代码如下:
this.fpspread.ActiveSheet.ActiveRowIndex = 20;
this.fpspread.ActiveSheet.AddSelection(20, -1, 1, -1);
正常执行后表中的第21行应该变为蓝底,但结果却如图所示。
对22、23行进行操作同样如此,而前面的行都能正常改变状态。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-7-8 16:57:18
8#
是这样,在Excel中没有隐藏行列的概念,其实隐藏只是列宽为0.所以还是存在的,你可以看到ABCD是不连续的。获取到的还是真正的ColumnIndex
回复 使用道具 举报
hibonetsz
初级会员   /  发表于:2016-7-8 16:16:36
7#
本帖最后由 hibonetsz 于 2016-7-8 16:23 编辑

原来如此,谢谢!但是还发现一个问题,就是只要中间有若干行被隐藏,得到的bottomrowindex就不对了,比如隐藏了,3行,得到的值就比实际值大3,这也是产品特别的设计吗?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-7-7 16:59:01
6#
本帖最后由 dexteryao 于 2016-7-7 17:00 编辑

您好 ,这个是产品设计,这样你就可以知道是否拉到头了。你在代码中加个判断,当index和count相等时,其实就是最后一列
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部