关于TDBGrid控件与TDBNavigator控件的问题(100分)

Z

zhang

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位大侠两个问题:
1、关于TDBGrid控件的问题:
在TDBGrid控件中编辑逻辑字段值,若不慎敲入非 TRUE和非FALSE值,POST后 将产生异常。这个
异常很怪,在TABLE控件的onPostError事件中填
写TABLE.CANCEL不起任何作用。
2、关于TDBNavigator控件delete操作问题:
本人在TDBNavigator控件中将ConfirmDelete属性
设为FALSE,意图加如删除的 中文提示对话框。我
的问题在于用户在对话框中选择取消删除时,我在
程序中 该如何编写,跳过删除操作。
 
1.可以在Field对应的OnSetText事件中处理.

procedure TForm1.Table1AAASetText(Sender: TField; const Text: String);
begin
application.messagebox(PChar(Text),'111',mb_OK);
sender.asstring := Text;
end;

2. 在Table的BeforeDelete中处理

procedure TForm1.Table1BeforeDelete(DataSet: TDataSet);
begin
if Application.MessageBox('Delete?', 'Question', MB_YESNO) <> ID_YES then
Abort;
end;
 
1.在TABLE控件的onPostError事件中填写Action := daAbort;
2.if 取消 then Abort;
 
解决输入与字段类型不匹配的最根本方法是汉化Delphi的VCL信息。在Delphi目录
下找到下列字符串资源文件,翻译成中文就行了。这样所有的错误提示、对话框、
Hint等都成了中文的,也不用专门去做中文的删除提示了,岂不大爽。翻译这些东
西可能要耗点时间,但一劳永逸啊。

如果你给我分,我就给你我翻译好的资源文件,嘻嘻... ~_
我找到的需要翻译的资源文件列表:
consts.pas
dbconsts.pas
bdeconst.pas
ibconst.pas
mxconsts.pas
oleconst.pas
webconst.pas

 
到DELPHI历险去找一个DELPHI简单汉化包,可以自动中文提示(MSGDLG,INPUTBOX,DBGRID,DBNAVIGATOR)。
 
关于原问题,有个费事的方法,在Ttable里做一个new Field,是string的,
只有'是','否',这样就可以用下拉框选择了,然后在post之前,

BooleabField.asBoolean:= ( NewField.asstring='是') ;


另外,sunset,分数好商量,你要多少啊?
 
顶部