Spread的行和列随着Winform窗体Resize按比例调整

我们常听到一些用户的需求:随着Winform窗体尺寸发生变化,Spread行和列的比例能够Resize。由于FpSpread没有内置实现的接口,为了达到同样的效果,需要自定义实现。

发布于 2014/01/14 00:00

SpreadJS

我们常听到一些用户的需求:随着Winform窗体尺寸发生变化,Spread行和列的比例能够Resize。由于FpSpread没有内置实现的接口,为了达到同样的效果,需要自定义实现。这篇博文说明了FpSpread的列和行的比例,是随着窗体大小尺寸变化而调整的。

实现非常简单,需要处理Winform窗体的Resize事件。在这种情况下,每个列和行被分配了不同width和height分别根据已调整大小的表格的大小。

下面的代码段显示窗体的Resize事件,根据计算不断变化的的尺寸,来调整Spread中的行和列的高和宽。

 

  1: void Form1_Resize(object sender, EventArgs e)
  2: {
  3:     fpSpread1.Location = new Point(0, 0);
  4:     fpSpread1.Height = (int)(0.8 * this.Height);
  5:     fpSpread1.Width = (int)(0.8 * this.Width);
  6:     int i;
  7:     float dataareawidth;
  8:     float rhwidth = 0;
  9:     float bwidth;
 10:     float vsbwidth;
 11:     float dataareaheight;
 12:     float chheight = 0;
 13:     float hsbheight;
 14:     // Horizontal ScrollBar Height
 15:     bwidth = (2 * SystemInformation.Border3DSize.Width);
 16:     for (i = 0; (i <= (fpSpread1.Sheets[0].RowHeader.ColumnCount - 1)); i++)
 17:     {
 18:       rhwidth += fpSpread1.Sheets[0].RowHeader.Columns[ i ].Width;
 19:     }
 20:     vsbwidth = SystemInformation.VerticalScrollBarWidth;
 21:     dataareawidth = (fpSpread1.Width - (bwidth - (rhwidth - vsbwidth)));
 22:     for (i = 0; (i <= 3); i++)
 23:        {
 24:          // Columns
 25:          fpSpread1.Sheets[0].Columns[ i ].Width = (dataareawidth / 4);
 26:        }
 27:     for (i = 0; (i <= (fpSpread1.Sheets[0].ColumnHeader.RowCount - 1)); i++)
 28:       {
 29:          chheight += fpSpread1.Sheets[0].ColumnHeader.Rows[ i ].Height;
 30:       }
 31:          hsbheight = SystemInformation.HorizontalScrollBarHeight;
 32:          dataareaheight = ((float)fpSpread1.Height - (bwidth - (chheight - hsbheight)));
 33:      for (i = 0; (i <= 9); i++)
 34:      {
 35:         // Rows
 36:      fpSpread1.Sheets[0].Rows[ i ].Height = (dataareaheight / 10);
 37:      }
 38:  }

 

SpreadJS | 下载试用

纯前端表格控件SpreadJS,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,备受华为、苏宁易购、天弘基金等行业龙头企业的青睐,并被中国软件行业协会认定为“中国优秀软件产品”。SpreadJS 可为用户提供类 Excel 的功能,满足表格文档协同编辑、 数据填报、 类 Excel 报表设计等业务场景需求,极大的降低企业研发成本和项目交付风险。

如下资源列表,可以为您评估产品提供帮助:

相关产品
推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态