这个问题难道真的这么难吗? 高分求解

时间:2022-09-11 05:46:59
问题一:如何让dbgrid在编辑状态下,可以像StringGrid对某一个单元框进行字符过虑
如:(在数量 列限制只能输入数字)

问题二:StringGrid显示数据如果修改一条数据是不是要把原来的数据全部删除,再把StringGrid的数据重新写入数据库

6 个解决方案

#1


dbgrid输入的条件完全按照数据库定义的格式来的,也就是数字字段只能输入数字,字符字段只能输入字符,而且完全按照数据库中定义字符宽度进行限制的。
不用全部删除

#2


楼上的下解啊!

#3


why ?

#4


1, dbgrid如果是通过datasource跟数据库直接连接的;那么,在你往dbgrid中输入字符的时候,数据库会检查该字符是否符合对应的约束;譬如,你在数字类型的列中输入字符,就违反了数据库约束,这时系统会提示报错;所以,在dbgrid中你不用做什么处理。

2,对stringgrid中的数据进行修改后,你可能要针对你具体修改的列修改对应数据表内容;不需要全部删除;

#5


看来楼主的描述能力有问题

1、估计楼主想的是是否能在TStringGrid中录入数字也能象TDBGrid一样控制,这个TStringGrid中当处于编辑状态时有一个自动创建的TInplaceEdit控件,控制他的输入格式即可,具体可以察看DBGrid.pas及Grids.pas的源代码

2、不需要

#6


问题一:如何让dbgrid在编辑状态下,可以像StringGrid对某一个单元框进行字符过虑
如:(在数量 列限制只能输入数字)
字符过滤?
可以的,你在dbgrid的keydown事件中处理,是一样的!不过,比较麻烦
问题二:StringGrid显示数据如果修改一条数据是不是要把原来的数据全部删除,再把StringGrid的数据重新写入数据库

绝对不需要,你可以做标记,那条记录变更了,只处理变更的就可以了

#1


dbgrid输入的条件完全按照数据库定义的格式来的,也就是数字字段只能输入数字,字符字段只能输入字符,而且完全按照数据库中定义字符宽度进行限制的。
不用全部删除

#2


楼上的下解啊!

#3


why ?

#4


1, dbgrid如果是通过datasource跟数据库直接连接的;那么,在你往dbgrid中输入字符的时候,数据库会检查该字符是否符合对应的约束;譬如,你在数字类型的列中输入字符,就违反了数据库约束,这时系统会提示报错;所以,在dbgrid中你不用做什么处理。

2,对stringgrid中的数据进行修改后,你可能要针对你具体修改的列修改对应数据表内容;不需要全部删除;

#5


看来楼主的描述能力有问题

1、估计楼主想的是是否能在TStringGrid中录入数字也能象TDBGrid一样控制,这个TStringGrid中当处于编辑状态时有一个自动创建的TInplaceEdit控件,控制他的输入格式即可,具体可以察看DBGrid.pas及Grids.pas的源代码

2、不需要

#6


问题一:如何让dbgrid在编辑状态下,可以像StringGrid对某一个单元框进行字符过虑
如:(在数量 列限制只能输入数字)
字符过滤?
可以的,你在dbgrid的keydown事件中处理,是一样的!不过,比较麻烦
问题二:StringGrid显示数据如果修改一条数据是不是要把原来的数据全部删除,再把StringGrid的数据重新写入数据库

绝对不需要,你可以做标记,那条记录变更了,只处理变更的就可以了