找回密码
 立即注册

QQ登录

只需一步,快速开始

roger.wang
社区贡献组   /  发表于:2014-5-16 10:51  /   查看:8545  /  回复:7
问题描述:如题。
问题解答:可以通过继承Spread GeneralCellType ,重载GetEditorControl方法来指定编辑器。
关键代码:
  1.         public class PopupCellType : FarPoint.Win.Spread.CellType.GeneralCellType
  2.         {
  3.             TypeControl control = newTypeControl();
  4.             Public override Control GetEditorControl(Control parent, FarPoint.Win.Spread.Appearance appearance, float zoomFactor)
  5.             {
  6.                 return control;
  7.             }
  8.         }
复制代码


效果截图:


示例下载:点击下载

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

7 个回复

倒序浏览
zztoll
初级会员   /  发表于:2015-12-1 10:22:00
沙发
这个自定义控件的样式正好对我有用
但是我希望如ComboBoxCellType那样,仅在点击时进入编辑模式,显示编辑控件TypeControl,
当点击别处时,退出编辑状态,隐藏编辑控件TypeControl
请问该怎么做呢,
谢谢!
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-1 17:21:00
板凳
回复 2楼zztoll的帖子

您好,

您的需求是不弹出编辑的对话框,直接编辑吗?
最好有个截图描述下您的需求。
回复 使用道具 举报
zztoll
初级会员   /  发表于:2015-12-1 17:41:00
地板
是的,就是需要弹出一个编辑对话框来直接编辑
界面就跟roger.wang的DEMO差不多

只是roger.wang的那个DEMO将编辑控件显示出来之后,会一直显示
并且也无法点击其它单元格.
通常情况下,点其它单元格时,应取消当前单元格的编辑状态才对.
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-2 18:17:00
5#
您好,

这个问题比较复杂,我们需要联系开发,以确定是否能够实现。由于时差的影响需要1到2个工作日,希望能够耐心等候。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-8 14:19:00
6#
您好,

目前这个问题,经过验证,上述代码是通过继承GeneralCellType,重写了Editor方法,在这个方法中将一个新的控件返回给了系统。
如果希望支持您所描述的功能,需要增加一些代码。在fpSpread1_MouseDown中可以接受到这个点击,然后做点击的位置判断,如果在其它的区域,设置一个退出策略。比如,将当前的值,保持后退出。在设置选择到新的单元格。
实现的思路大概就是这样,但是实现确实比较复杂,您可以先尝试制作,如果有问题,我们可以进行讨论。
回复 使用道具 举报
zztoll
初级会员   /  发表于:2015-12-21 18:08:00
7#
谢谢,我用合并两个单元格的方法去实现了这个UI.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +999 收起 理由
frank.zhang + 999 非常好的思路

查看全部评分

回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-23 16:37:00
8#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部