回复 1楼刘君的帖子
你的示例已经收到。
示例里涉及到一些业务逻辑,比较复杂。
其中自定义了一个PopUpCellType,里面是一个TextBox和一个Button。在自定义控件的时候,重写GetEditorControl,就是说进入编辑状态的时候,用你自定义的这个TypeControl显示。但是没有重写PaintCell方法。
你需要单元格在退出编辑状态的时候显示什么样式,可以通过这个方法设置。
比如,我退出编辑状态显示CheckBox的样式,代码参考:
- public override void PaintCell(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appr, object value, bool issel, bool
- islocked, float zoom)
- {
- GetEditorValue();
- if (ckbx.CheckState == CheckState.Checked)
- {
- ControlPaint.DrawCheckBox(g, r.X, r.Y, r.Width - 40, r.Height - 6, ButtonState.Checked);
- }
- else if (ckbx.CheckState == CheckState.Unchecked)
- {
- ControlPaint.DrawCheckBox(g, r.X, r.Y, r.Width - 40, r.Height - 6, ButtonState.Normal);
- }
- }
复制代码
你只需要根据你的需求,重写这个方法即可。
在本地的产品文档里,也有相关介绍,Creating a Custom Cell Type 章节。
文档地址:C:\Program Files\ComponentOne\Spread Studio 8\Docs\Windows Forms\FarPoint.Win.Spread.8.0.chm |