【发布时间】:2012-10-05 07:33:09
【问题描述】:
美好的一天!
我有一个查询、数据源和 DBEdit。 DataSource.AutoEdit 为假。 Query.State 不在 dsEdit 或 dsInsert 中。所以我无法更改 DBEdit 中的值。但是如果我按 Delete 键,DBEdit 中的值会被删除(Query.State 不会改变)。如果焦点离开此 DBEdit,我会收到“数据集未处于编辑或插入模式”。这是一个错误还是其他什么,我该如何解决这个问题?我已经在新的简单项目中对此进行了测试,以确保问题不在我的项目中。
Delphi 版本:Delphi® XE 版本 15.0.3953.35171
【问题讨论】:
-
我该如何解决这个问题? 嗯,卡罗尔几年前回答过这个问题:“我应该去哪里?” - 爱丽丝。“这取决于你想在哪里结束.” - 柴郡猫。// ESR 也回答了:catb.org/esr/faqs/smart-questions.html#goal // 没有人,但你知道你的程序应该如何运行,你可以告诉它或隐藏它......
-
“这取决于你想在哪里结束。”我希望 TDBEdit 正常工作。如果将 AutoEdit 设置为 false,则 DBEdit 必须是只读的(对于包括 Delete 在内的所有键)。
-
在一个简单的项目中,只有一个 DBGrid、一个 DBNavigator、一个 DBEdit、一个 DataSource、一个 ADODataSet、一个字段,它对我来说表现正确。不处于编辑状态时,Delete 键被抑制。还有德尔福XE。什么时候不工作?
-
hvd,我用一个 DBEdit、一个 ADOQuery 和一个 DataSource 创建了新项目。然后将 AutoEdit 设置为 false,当查询未处于编辑状态时,不会抑制 Delete Key。我知道这是不寻常的情况,这就是我在这里问的原因。
-
@GaaraofDesert 我的 Delphi 版本和你的一样,它对我有用,所以我认为抑制它的代码必须在那里,但是抑制它的代码是错误的,因为它不会不能在所有系统上工作(并且不能在你的系统上工作)?
标签: delphi datasource