找回密码
 立即注册

QQ登录

只需一步,快速开始

hanson

高级会员

5

主题

20

帖子

1005

积分

高级会员

积分
1005

活字格认证

hanson
高级会员   /  发表于:2013-8-22 16:47  /   查看:10643  /  回复:14
按照精华帖,
自己定义了一个celltype :
主要代码如下:
  public NumericUpDown control = new NumericUpDown();
            public override Control GetEditorControl(FarPoint.Win.Spread.Appearance appearance, float zoomFactor)
            {
                return control;
            }
本来设置EditModeReplace = true后,选中单元格然后键盘输入,
应该是输入的内容替代原来的内容的,
但是用了自定义类型后,单元格只是进入了编辑状态,并没有替换内容。

为啥呢,谢谢了

14 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-8-22 16:54:00
沙发
回复 1楼hanson的帖子

那能否通过 NumericUpDown  控件自动选择呢?
回复 使用道具 举报
hanson
高级会员   /  发表于:2013-8-22 17:01:00
板凳
回复 2楼iceman的帖子

能自动选择,打算在spread 的editmodeoff之后,将NumericUpDown  的值赋回到单元格上。
回复 使用道具 举报
hanson
高级会员   /  发表于:2013-8-22 17:02:00
地板
我看spread自带的单元格类型都好用,需要重写什么方法吗
回复 使用道具 举报
hanson
高级会员   /  发表于:2013-8-22 17:04:00
5#
现在问题就是,选中一个单元格(非编辑状态)=>键盘输入;
这时候进入编辑状态了,但是值没有变,相当于输入的值无效
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-22 17:11:00
6#
回复 5楼hanson的帖子

建议参考帮助文档:Creating a Custom Cell Type  章节。里面详细阐述了自定义单元格类型的方法。
回复 使用道具 举报
hanson
高级会员   /  发表于:2013-8-22 17:27:00
7#
回复 6楼iceman的帖子

看过了,上面写的很笼统,一句话带过了
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-22 18:10:00
8#
回复 7楼hanson的帖子

有没有尝试重写:
public override object GetEditorValue()
{
   return ckbx.CheckState;
}

方法?

你继承的单元格类型是?
回复 使用道具 举报
hanson
高级会员   /  发表于:2013-8-23 09:31:00
9#
继承的是   GeneralCellType,
重写了三个方法
GetEditorControl
SetEditorValue
GetEditorValue,

我看帮助文档上写的是重写每一个方法?
======================〉〉〉〉〉
[您可以通过创建一个继承自已存在的单元格类型的子类(就是说要重载这个类中的每一个方法)来创建你自己的单元格类型。 ]
回复 使用道具 举报
hanson
高级会员   /  发表于:2013-8-23 10:01:00
10#
还是不知道哪个地方漏了,
我试了一下单纯继承TextCellType,里面什么方法都不重写的话,是没有问题的。

重写一下 GetEditorControl  就有问题了。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部