找回密码
 立即注册

QQ登录

只需一步,快速开始

Hjr2350
论坛元老   /  发表于:2013-1-16 09:25  /   查看:7700  /  回复:5
又打扰了

我现在想实现这样一个效果
在excel2003中,当我不设置打印区域时,进行打印预览操作后,会在表单区自动按照设置的纸张大小,将打印区域进行划分(在表单上会有虚线对表单的打印区域进行标识)。
我想咨询一下,spread本身提供不提供这样的支持?如果有的话如何设置。
我自己调查了下,发现spread可以手动设置打印区域,但是不知道支持不支持自动的。

PS:还有一个小问题,我现在觉得spread designer中的选择celltype的dialog非常好,我在代码中可以直接调用吗?如果可以的话,提供下具体代码语句可以吗?

5 个回复

倒序浏览
Hjr2350
论坛元老   /  发表于:2013-1-16 13:41:00
沙发
求助,在线等~~~
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-16 15:14:00
板凳
回复 1楼Hjr2350的帖子

问题1:
Spread没有提供类似Excel那样的网格线用于标识打印页面的范围。

问题2:
“发现spread可以手动设置打印区域,但是不知道支持不支持自动的”,我不确定你指的是什么样的自动设置方式,如果你设置PrintInfo.UseMax = true,Spread只会打印有数据的区域
  1.     PrintInfo pi = new PrintInfo();
  2.     pi.ShowPrintDialog = true;
  3.     pi.Preview = true;
  4.     pi.UseMax = true;
  5.     fpSpread1.ActiveSheet.PrintInfo = pi;
复制代码


问题3:
Spread的设计器可以通过以下代码进行调用(工程的.NET版本不能为 Client Profile类型,右键工程选择属性可以修改)
  1.     FpSpreadDesigner designer = new FpSpreadDesigner();
  2.     designer.ShowDialog(fpSpread1);
复制代码
回复 使用道具 举报
Hjr2350
论坛元老   /  发表于:2013-1-16 15:30:00
地板
谢谢,我的问题2其实和问题1是同一个问题,我就进行手动设置吧
其实有现在想要的就是这样一个效果
可不可以按照我选择纸张的大小,产生一个分页符或者返回一个行列数
比如:我选择A4打印,返回按照A4的长宽的列数和行数
如果现在的spread有这样的功能我想直接使用了
我第三个问题:只是想调用“单元格类型设置”的对话框,不是正规designer都用,有单独调用的方法吗
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-16 18:02:00
5#
回复 4楼Hjr2350的帖子

可以通过以下两个方法来获得分页信息
  1.     fpSpread1.GetRowPageBreaks(0);
  2.     fpSpread1.GetColumnPageBreaks(0);
复制代码


CellType编辑器,需要添加FarPoint.Win.Spread.Design.dll的引用:
  1. FarPoint.Win.Spread.Design.ExternalDialogs.CellTypeEditor(fpSpread1);
复制代码
回复 使用道具 举报
Hjr2350
论坛元老   /  发表于:2013-1-17 10:38:00
6#
谢谢你的帮助,很有帮助~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部