找回密码
 立即注册

QQ登录

只需一步,快速开始

江故里

初级会员

32

主题

120

帖子

306

积分

初级会员

积分
306
江故里
初级会员   /  发表于:2022-1-12 14:04  /   查看:2600  /  回复:5
本帖最后由 江故里 于 2022-1-12 14:17 编辑

espSpread1.SetViewportTopRow(0, targetRowIndex);



代码中设置了 SetViewportTopRow   方法  
但是除了开始的几行  和中间的几行   
大部分的数据都无法在第一行显示 下面还有很多的行
这是什么原因


5 个回复

倒序浏览
江故里
初级会员   /  发表于:2022-1-12 17:22:42
推荐
Richard.Ma 发表于 2022-1-12 16:46
请上传一个demo上来,我帮你看看原因,这个设置的是哪一行,哪一行就是顶行,除非下面没有行了

刚发现  不是这个方法的问题 是别的地方影响了   谢谢  已解决
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-1-12 16:46:20
沙发
请上传一个demo上来,我帮你看看原因,这个设置的是哪一行,哪一行就是顶行,除非下面没有行了
回复 使用道具 举报
江故里
初级会员   /  发表于:2022-1-12 17:08:56
板凳
private void spdDataOperate()
        {
            string yosoCd = ConvertHandler.ConvertObjectToStr(jikg016YosoCd);
            if (string.IsNullOrWhiteSpace(yosoCd)
                ||
                yosoDataList == null)
                return;

            int targetRowIndex = getRowIndex(yosoCd);
            string targetOyaCd = this.espSpread1_Sheet1.Cells[targetRowIndex, oyaYosoCdIndex].Text;
            int oyaRowIndex = getRowIndex(targetOyaCd);

            if ("+".Equals(espSpread1_Sheet1.RowHeader.Cells[oyaRowIndex, 0].Text))
            {
                unfold(oyaRowIndex);
            }

            espSpread1.ActiveSheet.ActiveRowIndex = targetRowIndex;
            espSpread1.SetViewportTopRow(0, targetRowIndex);
        }



image.png547992248.png
回复 使用道具 举报
江故里
初级会员   /  发表于:2022-1-12 17:11:11
地板
相关的代码有点多   主要做这块的就是这个方法   前部分获取行数   后部分把它置顶第一行   但是   只有   100里面的112-126可以   300内的可以成为第一行   200  400 500 内的都不行
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-1-12 17:43:15
6#
好的,不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部