找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-12-3 17:27:00
11#
使用8楼文章中的Demo,改变列宽之后不会改变行高,只是会因为列宽太小,导致日期显示不完整。

不知你运行8楼中的Demo情况怎么样,是否和你的代码设置存在差异。
回复 使用道具 举报
sam
论坛元老   /  发表于:2012-12-3 18:20:00
12#
这个我知道。我就是需要把日期列的宽度设为0px(即:将此列隐藏掉。).这样,就会行高变高。
故,就是想问问,有没办法不让日期信息换行。

谢谢!
回复 使用道具 举报
sam
论坛元老   /  发表于:2012-12-5 14:31:00
13#
Hi  dof:

以上問題,麻煩幫忙看下。謝謝!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-12-5 18:01:00
14#
回复 12楼sam的帖子

sam 你好

从Spread产品本身的功能来讲,以下代码会将行高变高:
  1.     protected void Page_Load(object sender, EventArgs e)
  2.     {
  3.         if (!IsPostBack)
  4.         {
  5.             FarPoint.Web.Spread.Extender.DateCalendarCellType dcct = new FarPoint.Web.Spread.Extender.DateCalendarCellType();               
  6.             FpSpread1.ActiveSheetView.Columns[1].CellType = dcct;
  7.             FpSpread1.ActiveSheetView.Columns[1].Width = 0;
  8.             FpSpread1.ActiveSheetView.Cells[0, 1].Value = DateTime.Now.Date;
  9.         }
  10.     }
复制代码


而下面的代码可让行高保存不变:
  1.     protected void Page_Load(object sender, EventArgs e)
  2.     {
  3.         if (!IsPostBack)
  4.         {
  5.             GeneralCellType gctD = new GeneralCellType();
  6.             gctD.AllowWrap = false;
  7.             FpSpread1.ActiveSheetView.Columns[1].CellType = gctD;

  8.             FarPoint.Web.Spread.Extender.DateCalendarCellType dcct = new FarPoint.Web.Spread.Extender.DateCalendarCellType();               
  9.             FpSpread1.ActiveSheetView.Columns[1].CellType = dcct;
  10.             FpSpread1.ActiveSheetView.Columns[1].Width = 0;
  11.             FpSpread1.ActiveSheetView.Cells[0, 1].Value = DateTime.Now.Date;
  12.         }
  13.     }
复制代码


现在有一个让我不太理解的是,需要将设置为 DateCalendarCellType的列进行隐藏,行高不会自动变高,而且需要显示完整的日期。 既然需要隐藏这一列为什么还要显示日期呢,我理解这个需求是否有点矛盾。

单从功能实现方法来讲,你可以尝试使用自定义的DateCalendarCellType类型:
  1.     protected void Page_Load(object sender, EventArgs e)
  2.     {
  3.         if (!IsPostBack)
  4.         {
  5.             CDateCalendarCellType dcct = new CDateCalendarCellType();
  6.             FpSpread1.ActiveSheetView.Columns[1].CellType = dcct;
  7.             FpSpread1.ActiveSheetView.Columns[1].Width = 0;
  8.             FpSpread1.ActiveSheetView.Cells[0, 1].Value = DateTime.Now.Date;

  9.         }
  10.     }

  11.     public class CDateCalendarCellType : FarPoint.Web.Spread.Extender.DateCalendarCellType
  12.     {
  13.         public override Control PaintCell(string id, TableCell parent, Appearance style, Inset margin, object value, bool upperLevel)
  14.         {
  15.             style.Font.Size = 5;
  16.             return base.PaintCell(id, parent, style, margin, value, upperLevel);
  17.         }
  18.     }
复制代码
回复 使用道具 举报
sam
论坛元老   /  发表于:2012-12-8 18:58:00
15#
这个问题,我已采用自定义单元格搞定了。谢谢!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-12-10 09:08:00
16#
OK,我将关闭该帖!
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部