找回密码
 立即注册

QQ登录

只需一步,快速开始

yimi020103

金牌服务用户

31

主题

105

帖子

278

积分

金牌服务用户

积分
278

活字格认证微信认证勋章元老葡萄

yimi020103
金牌服务用户   /  发表于:2015-6-12 14:57  /   查看:4999  /  回复:1
我这里试的合并后单元格不能调整行高和列宽,
用函数GetPreferredColumnWidth,GetPreferredRowHeight得到的值是默认的60,20

我现在的需求是:如果我水平方向合并了单元格,但是竖直方向并没有合并,这个时候我可以自动按照当前宽度来调整行高,这样可以实现么?

1 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-6-12 16:41:00
沙发
回复 1楼yimi020103的帖子

感谢对该问题的反馈。
由于合并单元格跨越几个列,实际并不能判断,你需要得到的是哪个列,并且设置哪个列的宽度,因此需要自己去调整。
比如通过GetPreferredColumnWidht得到宽度,按自己的需求设置每列的宽度,已达到效果。


我们采用如下代码测试这个功能:
  1. fpSpread1.Sheets[0].SetRowMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.None);
  2.             fpSpread1.Sheets[0].SetColumnMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.None);

  3.             float height = fpSpread1.Sheets[0].GetPreferredRowHeight(0,true);
  4.             float width = fpSpread1.Sheets[0].GetPreferredColumnWidth(0, true);

  5.             fpSpread1.Sheets[0].Rows.Default.Height = height;
  6.             fpSpread1.Sheets[0].Columns.Default.Width = width;
  7.             fpSpread1.Sheets[0].SetRowMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Always);
  8.             fpSpread1.Sheets[0].SetColumnMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Always);
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部