找回密码
 立即注册

QQ登录

只需一步,快速开始

婧友

论坛元老

24

主题

74

帖子

1万

积分

论坛元老

积分
10068

活字格认证

婧友
论坛元老   /  发表于:2012-5-30 10:04  /   查看:5475  /  回复:3
打印的时候,一张A4纸张默认打印30条数据,但是打印时,单元格的内容的长度是不固定的,如果长度超过了单元格的默认高度就会发生变化,底部就会出现打印的数据不完全,请问如何解决这个问题

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-5-30 16:53:00
沙发

回复 1# 婧友 的帖子

婧友 你好,
可以在数据不完整出现前一行设置 PageBreak 为 True,从而避免该情况,测试代码:

  1. protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.                 return;
  5.             this.FpSpread1.ClientAutoSize = true;
  6.             this.FpSpread1.Sheets[0].PageSize = 60;
  7.             this.FpSpread1.Sheets[0].RowCount = 60;

  8.             for (int i = 0; i < this.FpSpread1.Sheets[0].RowCount; i++)
  9.             {
  10.                 for (int j = 0; j < this.FpSpread1.Sheets[0].ColumnCount; j++)
  11.                 {
  12.                     this.FpSpread1.Sheets[0].Cells[i, j].Text = "测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试";
  13.                 }
  14.             }
  15.         }

  16.         protected void FpSpread1_PrintSheet(object sender, FarPoint.Web.Spread.PrintEventArgs e)
  17.         {
  18.             if (e.Row==5)
  19.             {
  20.                 e.PageBreak = true;
  21.             }
  22.         }
复制代码
回复 使用道具 举报
婧友
论坛元老   /  发表于:2012-6-4 11:02:00
板凳
但是我不知道它究竟第几行才执行e.PageBreak = true;这个该怎么办?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-4 12:27:00
地板
回复 3楼婧友的帖子

你好,
这种情况建议楼主先导出到 PDF 文件,之后再打印。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部