F first Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-02 #1 我用的数据库是Access,DBGrid的数据为动态查询所得,请教如何定制 数据值型的输入宽度.
A arm Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-02 #2 DBGRID.COLUMNS.WIDTH:=YOUR WIDTH
大 大苹果 Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-02 #4 以table为例(query一样) 你新建个字段。tablenewfild 再设置它的editmask属性,就可以了。
F first Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-02 #5 设置字段的editmask属性,你在DBGrid中给字段输入值 后,把输入焦点移至下一列,然后在移至刚才输入值的单 元格清空它,在把焦点移开会出现 ""is not a vaild integer value for field
设置字段的editmask属性,你在DBGrid中给字段输入值 后,把输入焦点移至下一列,然后在移至刚才输入值的单 元格清空它,在把焦点移开会出现 ""is not a vaild integer value for field
C canson Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-05 #7 你在access限定字段大小不就可限定输入宽度了么?
F first Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-05 #8 canson 在Access中数值型只能定义类型不能定义宽度.
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-05 #9 你可以设置字段的宽度(Size)就行了。 对于字段的校验,可以这样: 放一个DBEdit,不用MaskEdit,然后在此DBEdit的OnExit事件中加入: Case Table1.FieldByName('XXX').DataType of ftInteger: try StrToInt(DBEdit1.Text); except ShowMessage('无效的整数!'); Abort; end; ftDate: try StrToDate(DBEdit1.Text); except ShowMessage('无效的日期!'); Abort; end; ftCurrency: try StrToCurr(DBEdit1.Text); except ShowMessage('无效的金额!'); Abort; end; end; 意思就是这样,明白吗?(这段代码要根据你的具体情况来改) 还可以把DBEdit放到DBGrid上,盖住DBGrid,这样就更个性化了。
你可以设置字段的宽度(Size)就行了。 对于字段的校验,可以这样: 放一个DBEdit,不用MaskEdit,然后在此DBEdit的OnExit事件中加入: Case Table1.FieldByName('XXX').DataType of ftInteger: try StrToInt(DBEdit1.Text); except ShowMessage('无效的整数!'); Abort; end; ftDate: try StrToDate(DBEdit1.Text); except ShowMessage('无效的日期!'); Abort; end; ftCurrency: try StrToCurr(DBEdit1.Text); except ShowMessage('无效的金额!'); Abort; end; end; 意思就是这样,明白吗?(这段代码要根据你的具体情况来改) 还可以把DBEdit放到DBGrid上,盖住DBGrid,这样就更个性化了。
F first Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-05 #10 你好sachow 设置字段的宽度(Size)不能限制输入的宽度. 我用的是DBGrid数据源控件是Query,数据为动态查询所得, DBGrid的TColumn没有事件只有属性,同时DBGrid为多行显示 把DBEdit倥件盖在DBGrid上行吗 ????
你好sachow 设置字段的宽度(Size)不能限制输入的宽度. 我用的是DBGrid数据源控件是Query,数据为动态查询所得, DBGrid的TColumn没有事件只有属性,同时DBGrid为多行显示 把DBEdit倥件盖在DBGrid上行吗 ????
李 李崇文 Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-05 #11 你的意思是dbGrid自动适应实际字段文字的宽度吧 dbGrid好象没有这个功能,若知道请别完了告诉我。
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-05 #12 把一个DBEdit盖在DBGrid上是我从VB编程中得到的一个体会,具体实现方法是在 DBGrid的OnKeyDown事件中进行判断。如果按的键是方向键,则DBEdit就移动到 相应的网格上,而且DBEdit的宽度要根据相应DBGrid的宽度作出改变(要检测 DBGrid的宽度),要如果按数字或字母键,DBEdit就对数据集进行编辑,这样, 真正接受输入的就不是DBGrid而是DBEdit,实现进来虽然麻烦,但可以实现很 多灵活性,例如限制输入字串的长度、类型等。
把一个DBEdit盖在DBGrid上是我从VB编程中得到的一个体会,具体实现方法是在 DBGrid的OnKeyDown事件中进行判断。如果按的键是方向键,则DBEdit就移动到 相应的网格上,而且DBEdit的宽度要根据相应DBGrid的宽度作出改变(要检测 DBGrid的宽度),要如果按数字或字母键,DBEdit就对数据集进行编辑,这样, 真正接受输入的就不是DBGrid而是DBEdit,实现进来虽然麻烦,但可以实现很 多灵活性,例如限制输入字串的长度、类型等。
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-05 #13 补充一句,DBEdit要放在处于焦点位置的那一个网格上,而不是盖住整个DBGrid。
S shangjintong Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-21 #16 最好用TDBCtrlGrid控件,然后在上放置TDBEdit控件,在DBEdit.MAxlength定义长度 应该会用此控件吧