找回密码
 立即注册

QQ登录

只需一步,快速开始

sheep

论坛元老

21

主题

83

帖子

2万

积分

论坛元老

积分
20121

活字格认证

sheep
论坛元老   /  发表于:2011-8-31 11:06  /   查看:7313  /  回复:9
我采用的是把spread嵌入窗体,根据流程选用相应的表单,然后自定义工具条的模式,有几个功能方面的问题解决不了了,希望得到帮助,谢谢啦!

1.关于EXCEL 文件的导入,我选用的spread未Classic那个,但是导入文件后,就自动变成默认皮肤了,这个该肿么设置啊?
还有,当流程进行到下一步时,再看刚才插入的表单,上面左边各多出了一排。

2.字体增大、缩小功能,我是这样写的,实现不了,望指正
  1.   FarPoint.Win.Spread.Model.CellRange cr = fpSpread1.ActiveSheet.GetSelection(0);
  2.             for (int i = cr.Row; i < cr.Row + cr.RowCount; i++)
  3.             {
  4.                 for (int j = cr.Column; j < cr.Column + cr.ColumnCount; j++)
  5.                 {
  6.                     float f = fpSpread1.ActiveSheet.Cells[i, j].Font.Size;
  7.                     f = f + 1;
  8.                   fpSpread1.ActiveSheet.Cells[i, j].Font = new Font(fpSpread1.ActiveSheet.Cells[i, j].Font.FontFamily, f, fpSpread1.ActiveSheet.Cells[i, j].Font.Style);
  9.                 }
  10.             }
复制代码
3.撤销和重做功能
  1.    if (fpSpread1.UndoManager.CanUndo)
  2.             {
  3.                 fpSpread1.UndoManager.Undo();
  4.             }         
复制代码
这样写好像除了剪切复制这样的能撤销掉,别的操作都撤销不了,也不能连续撤销。

9 个回复

倒序浏览
sheep
论坛元老   /  发表于:2011-8-31 11:08:00
沙发
多出来一排那个情况如图

1.jpg

25.5 KB, 下载次数: 206

jpg

回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-8-31 13:59:00
板凳

回复 1# sheep 的帖子

1.关于EXCEL 文件的导入,我选用的spread未Classic那个,但是导入文件后,就自动变成默认皮肤了,这个该肿么设置啊?
回答:Spread导入Excel文件之后,之前对Spread的设置信息将全部被重置,所以,导入操作之后需要对Spread进行重新设置相关属性。fpSpread1.Skin = DefaultSpreadSkins.Classic;

2.字体增大、缩小功能,我是这样写的,实现不了,望指正
回答:可以通过以下代码改变字体大小
  1.             FarPoint.Win.Spread.Model.CellRange range = fpSpread1.ActiveSheet.GetSelection(0);            
  2.             Cell cell = fpSpread1.ActiveSheet.Cells[range.Row,range.Column,range.RowCount + range.Row,range.ColumnCount + range.Column];
  3.             cell.Font = new Font(fpSpread1.Font.FontFamily, fpSpread1.Font.Size + 1);
复制代码
3.导入之后多出一行和一列
回答:该问题可能是你导入没有处理行头和列头,可以尝试以下代码:fpSpread1.OpenExcel(@"D:\Tmp\test.xls", FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders);
回复 使用道具 举报
sheep
论坛元老   /  发表于:2011-8-31 14:58:00
地板
EXCEL导入那个问题解决了。
字体增大那个还不行。。。现在不报错了,但是木有增大。
还有撤销功能肿么写捏,谢谢!不好意思,比较菜,问题太多了
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-8-31 15:25:00
5#

回复 4# sheep 的帖子

下面是改变字体大小的方法,请参考:

  1.             Cell cell = null;
  2.             CellRange cells = fpSpread1.ActiveSheet.GetSelection(0);

  3.             for (int r = 0; r < cells.RowCount; r++)
  4.             {
  5.                 for (int c = 0; c < cells.ColumnCount; c++)
  6.                 {
  7.                     cell = fpSpread1.ActiveSheet.Cells[r, c];

  8.                     if (fpSpread1.ActiveSheet.Cells[r, c].Font != null)
  9.                     {
  10.                         cell.Font = new Font(cell.Font.FontFamily, cell.Font.Size + 1);
  11.                     }
  12.                     else
  13.                     {
  14.                         cell.Font = new Font(fpSpread1.Font.FontFamily, fpSpread1.Font.Size + 1);                        
  15.                     }
  16.                 }               
  17.             }
复制代码
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-8-31 15:34:00
6#
Undo操作需要设置 fpSpread1.AllowUndo = true;, 你可以检查一下是否设置了该属性。
回复 使用道具 举报
sheep
论坛元老   /  发表于:2011-8-31 16:08:00
7#

回复 6# dof 的帖子

设置了的,比如说,写个字,然后撤销,就可以撤销掉。
别的操作不行。不知道为啥
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-8-31 17:53:00
8#

回复 7# sheep 的帖子

Spread处理默认的Undo行为外还可以调用fpSpread1.UndoManager.PerformUndoAction();完成Undo操作
回复 使用道具 举报
sheep
论坛元老   /  发表于:2011-9-1 14:51:00
9#

回复 8# dof 的帖子

额。。这个括号里的参数肿么写啊,帮助里肿么都没这样的例子╮(╯▽╰)╭
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-9-2 14:04:00
10#
以CellEditUndoAction为例,请参考:
fpSpread1.UndoManager.PerformUndoAction(new CellEditUndoAction(fpSpread1.ActiveSheet,2,2,"11111",false));
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部