你可以改一下DBGridEh,注册TInplaceEditEh及TDBInplaceEditEh。
解决方案 »
- 如何设置TreeView节点文字的颜色?
- ===字符串分隔===
- DELPHI如何判断一个字段的值是否重复的问题
- SQL打包问题(高手请进)
- 请问:在报表的prieview界面上,可以加一个按钮来将报表导出到excel表中吗?谢谢。
- 一个关于combobox的问题!请各位来一展才华!
- QueryInterface函数不解
- 问一样事:黎明有一首歌,其中有一段歌词叫“等不到天长地久”!MTV是和舒琪拍的,请问歌名是什么?
- 急急急!请高手相助!关于数据库问题
- 送分考查---命名习惯
- 用MapX40,如何从数据库中读取图元数据然后在地图上显示,如何建立一个图元,保存到数据库中,如有源码,更是感激不尽。
- 问一个不太难的问题?(关于QuickReport)
在TInplaceEditMoneyEh及TDBInplaceEditMoneyEh都实现Money的编辑,都不想在两个类中写关于Money编辑的类似代码。
我觉地可以这么处理:
1.申明一个接口IMoneyEdit。这个接口是显示对Money的编辑。
2.有一个类TImplMoneyEdit完成对IMoneyEdit的实现
3.在TInplaceEditMoneyEh及TDBInplaceEditMoneyEh中都有一个成员变量IMoneyEdit。把所有的Money编辑的功能都转给IMoneyEdit来完成。这样在TInplaceEditMoneyEh及TDBInplaceEditMoneyEh就很少有对Money编辑的处理代码,全部有IMoneyEdit来完成了。
4.这样就把Money编辑的实现(如:TImplMoneyEdit)和具体表现(如:TInplaceEditMoneyEh及TDBInplaceEditMoneyEh)很好地分离出来了。你以后可以有一个新的实现类TExImplMoneyEdit,来完成对IMoneyEdit的实现。而在TInplaceEditMoneyEh及TDBInplaceEditMoneyEh可以几乎不用更改任何代码。
但根本的问题还是存在。我想,最好还是直接在基类上改,将基类实现重载两个类,否则子类如果一多,那改起来就异常麻烦