找回密码
 立即注册

QQ登录

只需一步,快速开始

lzh3452

论坛元老

32

主题

188

帖子

1万

积分

论坛元老

积分
18686

活字格认证

lzh3452
论坛元老   /  发表于:2011-7-8 20:33  /   查看:17735  /  回复:38
我调用这个方法获取的值是根据列内容计算的,可是没有把ColumnHeader也进行计算。当Cell的内容很少的时候,下面的代码的结果是,列标题折行了,有什么办法么?
iWidth = fpSpread.ActiveSheet.Columns(0).GetPreferredWidth()
fpSpread.ActiveSheet.Columns(0).Width = iWidth

38 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-11 10:00:00
沙发
你可以结合 fpSpread.ActiveSheet.ColumnHeader.Columns(0).GetPreferredWidth 来设置列宽
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2011-7-11 12:03:00
板凳
这个我也用了啊,可是计算的结果好像一样的啊,如果这一列没有数据,结果就是0了。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-11 14:27:00
地板
能把你fpspread保存为xml文件发过来看一下嘛,进行以下设置之后结果是正确的:

  1.             TextCellType tc = new TextCellType();
  2.             tc.WordWrap = false;
  3.             fpSpread1.ActiveSheet.ColumnHeader.Columns[5].CellType = tc;
  4.             fpSpread1.ActiveSheet.ColumnHeader.Columns[5].Label = "415646545646545645646";
  5.             fpSpread1.ActiveSheet.ColumnHeader.Columns[5].GetPreferredWidth();
复制代码
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2011-7-11 14:55:00
5#

回复 4# Zera 的帖子

抱歉啊,我这边也是给公司写代码,这个涉及到信息安全,所以不方便把Spread贴给你。
你说的这个我在知识库那边也有看到有人提过,不过我如果把Header的CellType设置成Text的话,自动排序的那个符号就看不到了,你知道有哪个CellType可以显示出排序符号么?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-13 21:12:00
6#

回复 5# lzh3452 的帖子

你可以尝试以下方法:

  1.             FarPoint.Win.Spread.CellType.ColumnHeaderRenderer c = new FarPoint.Win.Spread.CellType.ColumnHeaderRenderer();
  2.             c.WordWrap = false;
  3.             fpSpread1.ActiveSheet.ColumnHeader.DefaultStyle.Renderer = c;            
  4.             fpSpread1.Sheets[0].Columns[0].AllowAutoSort = true;
  5.             fpSpread1.Sheets[0].Columns[0].AllowAutoFilter = true;
  6.             fpSpread1.Sheets[0].Columns[0].Label = "asdfasdfasdfasdfasdfasdfasdf";
  7.             fpSpread1.Sheets[0].Columns[0].Width = fpSpread1.Sheets[0].ColumnHeader.Columns[0].GetPreferredWidth();

复制代码
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2011-7-13 22:42:00
7#

回复 6# Zera 的帖子

结果仍旧不对,Header根本显示的不全,前后都没有显示全。实在惨不忍睹啊。。。
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-13 23:55:00
8#

回复 7# lzh3452 的帖子

我调试的时候是可行的,明天我再看看
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2011-7-14 07:49:00
9#
是否有什么属性可以设置Header两侧和边界的距离,比如说前后各留10单位的空间。
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-14 09:22:00
10#
我这边能够全部显示,一定要先设置 Label 属性的值,再设置 Width 的值。
2011-7-14 9-19-00.png (48.41 KB, 下载次数: 370)
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部