我想用StringGrid作为单据项目的输入,具体各列如下:
id 产品名称 数量 单价 金额 折扣(%) 折后金额
01 AAAAAAA 2.00 25.5000 51.00 60.00 30.60
要求如下:
1、从数据库读取数据后,显示如上表所示。。
2、当编辑完数量、单价、金额、折扣、折后金额各列后,该列以指定小数位数显示。
3、当编辑完数量、单价、金额、折扣、折后金额等其中一列后,其它相关列要作相应的计算,
并以指定格式显示。 4、各编辑列提供数据恢复能力: 即修改了数据,但未按下Enter或者离开该单元格前,
可按下Esec按恢复原有数据。 本人刚才尝试了StringGrid的OnSetEditText/及OnDrawSell来实现,但好容易造成死循环。
id 产品名称 数量 单价 金额 折扣(%) 折后金额
01 AAAAAAA 2.00 25.5000 51.00 60.00 30.60
要求如下:
1、从数据库读取数据后,显示如上表所示。。
2、当编辑完数量、单价、金额、折扣、折后金额各列后,该列以指定小数位数显示。
3、当编辑完数量、单价、金额、折扣、折后金额等其中一列后,其它相关列要作相应的计算,
并以指定格式显示。 4、各编辑列提供数据恢复能力: 即修改了数据,但未按下Enter或者离开该单元格前,
可按下Esec按恢复原有数据。 本人刚才尝试了StringGrid的OnSetEditText/及OnDrawSell来实现,但好容易造成死循环。
解决方案 »
- 求一个关于文件夹访问的思路
- 【CSDN开心辞典】2009年拿到“进士牌牌”的是哪些马甲?
- 如何给由四边形上色,注意不一定是矩形,矩形只是四边形的一种
- 如何关闭父控件self.Parent.Free;??
- 99分请教: 能否将DLL文件做为资源文件做入DELPHI的执行文件中.另在win98下如何测硬盘的序列号
- 100分在线等待:如何刷新标题栏
- 报表能预览,却不能完全打印出来
- 500分请教!!高手请进!关于WINDOWS消息及WIN API函数的问题?在线等待!急!!!!!!!
- 关于Tadoquery控件使用问题
- 祝 nononono兄新年快乐,万事如意!!
- 高分求:TVideocap控件!高分求:TVideocap控件!高分求:TVideocap控件!
- 求解Shockwaveflash控件的三个问题!!!
得出的经验是: 在StringGrid中的onDrawSell事件中不要给该单元格赋值,否则容易造成死循环。
OnSetEditText中,每次有键盘输入修改时,都要执行一次
建议直接使用DBGRID 或者使用cxGrid.
简单的问题不要复杂化。
这样的选择有错吗?
如果要检验值得正确性,可以在OnSetText、OnValidate,如果值不能接受,可以Raise一个错误。