找回密码
 立即注册

QQ登录

只需一步,快速开始

lzechoca
论坛元老   /  发表于:2014-1-12 00:25  /   查看:10493  /  回复:10
修改了一下demo,但是还存在以下问题没有解决:
1、行数据如果是25(还有些数字也是这种情况),那么没有办法预览
2、如果把行数据修改为20,则可以预览,但是第二页预览出来的数据是
错误的(跨行跨列不正确了)
3、如果使用了best fit cols/rows中的任何一个,则预览的速度特别慢,
是不是我程序中还需要做什么设置呢?
4、如何去掉整个sheet最外面的两个边框呢,否则打印出来后在整个报表
最外面有还围有两层边框。

Demo.rar

66.7 KB, 下载次数: 1158

10 个回复

正序浏览
roger.wang
社区贡献组   /  发表于:2014-1-20 11:08:00
11#
回复 9楼lzechoca的帖子

测试了,截图如供8楼的。

我打印函数是添加了 6楼的两行代码。


  1. private void btnPrint_Click(object sender, EventArgs e)
  2.         {
  3.             //隐藏表头
  4.             fpSpread1.ActiveSheet.ColumnHeader.Visible = false;
  5.             fpSpread1.ActiveSheet.RowHeader.Visible = false;
  6.             //fpSpread1.bor
  7.             //SmartPrintRulesCollection printrules = new FarPoint.Win.Spread.SmartPrintRulesCollection();
  8.             //printrules.Add(new FarPoint.Win.Spread.BestFitColumnRule(FarPoint.Win.Spread.ResetOption.None));
  9.             //printrules.Add(new FarPoint.Win.Spread.LandscapeRule(FarPoint.Win.Spread.ResetOption.None));
  10.             //printrules.Add(new FarPoint.Win.Spread.ScaleRule(FarPoint.Win.Spread.ResetOption.All, 1.0f, .4f, .2f));

  11.             PrintInfo info = new PrintInfo();
  12.             info.RepeatRowStart = 0;   //开始重复的rowIndex--head
  13.             info.RepeatRowEnd = 13;  //结束重复的rowIndex---head
  14.             info.Preview = true;
  15.             info.ShowBorder = false;

  16.             info.Margin = new PrintMargin(50, 50, 50, 50, 50, 50);
  17.           //  info.Orientation = PrintOrientation.Landscape;//横向打印
  18.             //info.BestFitRows = true;
  19.             //info.BestFitCols = true;
  20.             //info.SmartPrintRules = printrules;
  21.             //info.UseSmartPrint = true;
  22.             fpSpread1.ActiveSheet.PrintInfo = info;
  23.             fpSpread1.PrintSheet(fpSpread1.ActiveSheetIndex);
  24.             //fpSpread1.ShowPageSetup(fpSpread1.ActiveSheet, false, true);
  25.         }
复制代码
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-20 09:11:00
10#
回复 9楼lzechoca的帖子

好的,谢谢您提供细节信息。 我一会按照您的这个提示再试一下。
回复 使用道具 举报
lzechoca
论坛元老   /  发表于:2014-1-17 23:27:00
9#
不要导出到pdf,直接点击打印(第一个按钮),在弹出来的对话框中点击预览,然后在预览框中打印,这个时候打印出来的就是错误的,边框还存在。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-17 10:23:00
8#
回复 7楼lzechoca的帖子

我把6楼的PDF文档(通过您提供的demo导出的),打印了首页。

IMG_20140117_091655.jpg (536.6 KB, 下载次数: 1009)
回复 使用道具 举报
lzechoca
论坛元老   /  发表于:2014-1-16 19:20:00
7#
还是不行,导出到pdf是正确的,但是实际打印出来的却是错误的。你可以把我的demo下载下去试试看。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-14 10:28:00
6#
回复 5楼lzechoca的帖子

修改PrintInfo这试试:

  1.             info.ShowBorder = false;
  2.             info.Margin = new PrintMargin(50, 50, 50, 50, 50, 50);
复制代码



打印为PDF效果:
document_name.pdf (138.19 KB, 下载次数: 1137)
回复 使用道具 举报
lzechoca
论坛元老   /  发表于:2014-1-13 17:23:00
5#
说的更明白一点就是如何去除titile(预应力张拉(后张法)记录表)上面的两条边线。你用我的demo打印一张出来就看得很明显了。
回复 使用道具 举报
lzechoca
论坛元老   /  发表于:2014-1-13 17:22:00
地板
应该一个是纸张外边框,一个是sheet外边框
回复 使用道具 举报
lzechoca
论坛元老   /  发表于:2014-1-13 17:21:00
板凳
边框指的是打印出来后最外面的边框,你截图的设计器里面的,不是打印预览的界面,我截图了:

打印出来的外边框和sheet的边框

打印出来的外边框和sheet的边框
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部