请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

品茗-3

金牌服务用户

37

主题

95

帖子

344

积分

金牌服务用户

积分
344
品茗-3
金牌服务用户   /  发表于:2018-9-3 18:31  /   查看:3706  /  回复:6
本帖最后由 品茗-3 于 2018-9-3 18:39 编辑

预览时,边框线显示不完全,不同比例显示异常,比例100%时或自动都有问题,有时需比例在250%或500%才可以显示正常,
但这样就十分不方便,无法整表单浏览,体验差。打印结果正常。

需满足要求:比例自动或100%时保证有一个正确显示

示例图:
1.比例50%

比例50%

比例50%

2.比例75%

比例75%

比例75%

3.比例100%或自动

比例100%

比例100%

4.比例150%

比例150%

比例150%

5.比例250%(四边显示正常)

比例250%

比例250%


代码配置不完全参考:

单元格:
        单元格类型:TextCellType(文本类型)
        自动折行:WordWrap = true;
        是否可换行:Multiline = true;

打印机:

         /// <summary>
        /// 设置打印机参数
        /// </summary>
        /// <returns></returns>
        private PrintInfo GetDefaultPrintInfo()
        {
            PrintInfo print = new PrintInfo();
            print.ShowBorder = false; // 是否显示表单的四周打印边界
            print.ShowColor = false;  // 是否显示颜色
            print.ShowColumnHeader = PrintHeader.Hide;  // 是否显示列标题
            print.ShowGrid = false;  // 是否显示网格线
            print.ShowPrintDialog = true; // 是否显示打印对话框
            print.ShowRowHeader = PrintHeader.Hide; // 是否显示行标题
            print.ShowShadows = false; // 是否打印标题阴影
            print.EnhancePreview = true; // 是否显示打印预览对话框
            return print;
        }

sheet设置打印:
        Spread.Sheets[index].PrintInfo = GetDefaultPrintInfo();


spread相关:
        /// <summary>
        /// 表格控件初始化
        /// </summary>
        /// <param name="fpSpread"></param>
        private void SetNewCell(FpSpread fpSpread)
        {
            fpSpread.BorderCollapse = BorderCollapse.Collapse; // 边框线折叠
            fpSpread.TabStripPolicy = TabStripPolicy.Always; // 显示分页栏
            fpSpread.AllowDragFill = true; // 填充
            fpSpread.AllowDragDrop = false; // 拖放
            fpSpread.AllowEditOverflow = true; // 编辑文本可以溢出
            fpSpread.EditModeReplace = true; // 替换现有的文本编辑
        }


6 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-4 08:44:00
沙发
这个是预览时候缩放的问题,比如一个像素的边框,按比例缩小之后就可能只有0.5个像素,没办法显示。
这里没有做成0.5个像素按照一个像素显示,因为可以放大比例去看。还原真实场景
回复 使用道具 举报
lkxtracy
金牌服务用户   /  发表于:2018-9-4 08:57:25
板凳
这个问题15年就有人提过,和缩放没有关系,这种效果,根本没办法使用!
回复 使用道具 举报
品茗-3
金牌服务用户   /  发表于:2018-9-4 09:37:45
地板
本帖最后由 品茗-3 于 2018-9-4 09:38 编辑
dexteryao 发表于 2018-9-4 08:44
这个是预览时候缩放的问题,比如一个像素的边框,按比例缩小之后就可能只有0.5个像素,没办法显示。
这里 ...

100%比例显示都不正常,我要预览的作用是什么?预览区域大小就这么点,放大到250%或500%检查表格,不能保证做表人在移动预览时检测区域没遗漏
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-4 09:40:16
5#
这个问题是产品已知问题,.Net 预览的问题,这个问题是无法避免的,高像素的图片要显示在有限区域必然会有失真。
比如100像素的图片,每间隔一像素一条黑线,现在要显示在50像素的区域,显示结果必然要丢掉一半像素,那么是丢失黑线还是白线,就是系统处理了。
回复 使用道具 举报
lkxtracy
金牌服务用户   /  发表于:2018-9-4 11:04:27
6#
你们是不打算改了吗?LineBorder根本就不存在你说的像素问题,本身就是实现上的问题!
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-4 17:56:23
7#
您这边提供下您现在已经实现的重写方案,我这边帮您联系开发优化
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部