找回密码
 立即注册

QQ登录

只需一步,快速开始

zongxudong
初级会员   /  发表于:2013-7-9 14:30  /   查看:7324  /  回复:5
你好.
    我现在正在将 Winform 的控件使用在我的WPF平台上, 之前在整合Spread WPF控件的时候, 发现有很多功能还不完善, 所以放弃了.
    我目前想要在表格列中编辑 HTML 这种复杂的内容, 解决思路就简单的弹出一个HTML编辑控件, 最好是能够弹出WPF窗口, 提供给用户编辑.  不过在具体实现的时候, 参考很多文档, 还是没有发现比较符合我需要的实现.  希望能给与帮助

   我自己也在尝试继承 BaseCellType 来自定义自己的编辑类型, 不过感觉比较复杂, 对这样的东西不是很懂, 还请多多指教

5 个回复

倒序浏览
Ally
葡萄城公司职员   /  发表于:2013-7-9 16:15:00
沙发
您好。
不好意思,读了您的贴子,没看懂意思。您说“还是没有发现比较符合我需要的实现”,不知道您的需求具体是什么?希望您能再详细描述一下。
回复 使用道具 举报
zongxudong
初级会员   /  发表于:2013-7-10 09:10:00
板凳
我看到CellType 里面有个 ShowSubEditor 虚方法, 我可不可以, 覆盖方法. 执行Window.Show() 这样

private win = new Window(); //window 为WPF Window控件
public override void ShowSubEditor()
        {
            win.Show();
        }
根据我这边的实现, Spread 始终不会调用这个方法. 不知道是不是有什么条件没有满足?
回复 使用道具 举报
山水
初级会员   /  发表于:2013-7-10 14:07:00
地板
您好,
附件是我做的一个如何实现CellType自定义editor的例子,请参考。
要实现一个CellType的自定义editor,需要以下步骤:
1. 创建一个新的子editor类,让该类从System.Windows.Forms.Form类或其子类继承,并实现FarPoint.Win.Spread.CellType.ISubEditor接口。
例如:
    public class mySubEd : System.Windows.Forms.Form, FarPoint.Win.Spread.CellType.ISubEditor
    {
          ...........................................
    }
2. 设置CellType的SubEditor属性到该子editor类的一个实例。例如:
            FarPoint.Win.Spread.CellType.TextCellType t = new FarPoint.Win.Spread.CellType.TextCellType();
            t.SubEditor = new mySubEd();
            fpSpread1.ActiveSheet.Cells[0, 0].CellType = t;
经过以上设置后,该TextCellType的editor就变成了我们自定义的editor。

那能不能让自定义的editor是一个WPF的Window呢?
答案是否定的。
因为Spread Win的自定义editor必须从System.Windows.Forms.Form派生,且FarPoint.Win.Spread.CellType.ISubEditor的所有接口都使用的是Windows Forms下的强类型。
希望以上能对您有所帮助。
WindowsFormsApplication1.zip (29.01 KB, 下载次数: 804)
回复 使用道具 举报
zongxudong
初级会员   /  发表于:2013-7-11 09:37:00
5#
谢谢, 我已经看明白了
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-7-11 16:35:00
6#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部