关于DBGridEh扩展的问题! (50分)

  • 主题发起人 主题发起人 lovdelphi
  • 开始时间 开始时间
L

lovdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在用的是DBGridEh,主要是做表格。但其不方便之处是不能像EXCELL一样坐自由表格。
我想能不能扩展一下,使他达到我的要求:
能计算自定义CELL的值。某个cell=A1+B1,就像华表一样。
要达到此功能,先要找一个地方存放公式。还要找到提取数据的方法。
但DBGHRidEh时数据感应控件,好像无法实现1功能。我理解DBGFridEh与Query的关系是:
Query通过DBGridEh表现数据。所以我无法理解1功能实现的思路。
请指点。(不想用新的控件)
 
找新的控件吧。
 
呵呵,即然知道了Dbgrideh是Query的表现控件,那在Query里计算不就行了。
 
若遇到比较复杂的报表,要取到阿A1/B1/C2....的数据,依然用Query算起不是很麻烦?
 
用内存表
 
>>用内存表?
能讲详细一点吗?讲一下思路。
 
这个问题我觉得要实现难度很大:
首先TDBGrid(TDBGridEh我没有用过)没有提供象TStringGrid的Cells[ACol, ARow],
要加入公式必须要有,而且还要扩展,如Cells内容可能是数量、字符串等,需要将两者分
开,还好有保存公式的地方,再进一步,还有有数值格式、日期格式、字体、颜色、合并范
围等等。
其次公式编辑也很难,TDBGrid和TStringGrid中已经将其编辑框需要重新设计,根据不同
的情况编辑内容或者公式。
接着是公式计算问题,如何确定有公式cell的计算顺序。
然后是画的问题,当然这个最简单了。
... ...
如果真的要实现你说的功能,建议用TStringGrid来实现,会方便许多。
 
对,可以从TStringGrid继承自己写.
TMS控件包有一个控件,继承自TStringGrid,支持公式计算,还可以.你可以试试.
下载的地方很多,你查以下.
 
其实你只要认真读一下TDBGridEH的重画代码也许问题可以解决!
TDBGridEH给我的感受是:里面的Code有很多值得借鉴!
 
多人接受答案了。
 
后退
顶部