找回密码
 立即注册

QQ登录

只需一步,快速开始

coffee228

初级会员

4

主题

7

帖子

389

积分

初级会员

积分
389

活字格认证

最新发帖
coffee228
初级会员   /  发表于:2015-8-10 16:27  /   查看:5743  /  回复:4
求助:
spread7.0中,设置columnheader的宽度自动变化?(因为需要往columnheader中动态赋值)
谢谢

4 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-8-10 17:33:00
沙发
您好,
FpSpread没有一个单一的属性或方法做这件事。
你需要调用SheetView类的GetPreferredColumnWidth()方法或Column类的GetPreferredWidth()方法得到每列的最大列宽,然后将其设置给每一列。
一个例子代码:
            for (int i = 0; i < this.fpSpread1.ActiveSheet.ColumnCount; i++)
            {
                float fitColumnWidth = this.fpSpread1.ActiveSheet.GetPreferredColumnWidth(i);
                this.fpSpread1.ActiveSheet.Columns.Width = fitColumnWidth;
            }

您可以尝试下,看是否能够满足您的需求。
回复 使用道具 举报
rbgongming
论坛元老   /  发表于:2015-8-10 19:43:00
板凳
回复 2楼frank.zhang的帖子

在Load事件中还要加上如下代码
Dim ch As New FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer
ch.WordWrap = False
FpSpread1.ActiveSheet.ColumnHeader.DefaultStyle.Renderer = ch
不然当列的Width小于60的时候,赋值就是60,不会比60更小。

评分

参与人数 1金币 +1000 收起 理由
iceman + 1000 补充后,代码非常完善

查看全部评分

把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-12 16:54:00
地板
您好,
距离这个问题的最后回复已经过去了一段时间,不知道这个问题您是否已经解决?
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-24 09:12:00
5#
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部