【问题标题】:Delphi DBGrid disable clicking on another row when editingDelphi DBGrid 在编辑时禁用单击另一行
【发布时间】:2012-12-06 21:43:00
【问题描述】:

我有一个显示来自 Ttable 的数据的 dbgrid,我的问题是,当 在网格中编辑一行,焦点在我要编辑的行上,但我可以 仍然单击另一行并进行编辑。如何禁用单击另一行 还是继续关注同一行?

当我编辑一列并双击该列时,第二个问题是(仍在 dbgrid 上), 焦点移动到文本行的末尾,因此不显示原始文本,而只显示最后一个字符和空格。

请帮忙...

【问题讨论】:

  • 您为什么要这样做?只需将单击另一行视为保存或取消(选择一个并在您的应用中的所有网格中保持一致)。
  • 顺便说一句,当你每个问题都问一个问题时,你可能会得到更好的答案。
  • 要点,让我们从第一个问题开始,如何禁用编辑最初未选择的另一行?
  • 为什么要限制用户点击她想点击的任何地方?
  • 因为当表格处于编辑模式时,如果用户点击另一行,她可以编辑该特定行,这是不可接受的,应该只编辑她所在的行,否则取消编辑并选择另一行,然后单击编辑按钮以编辑选定的行。希望你明白我在说什么。注意:我确实有一个确定按钮来发布更改。

标签: delphi dbgrid


【解决方案1】:

玩了一段时间后,我发现没有简单的方法 禁止用户在单击另一行时从突出显示的行(要编辑的行)移动。 最好的方法是当他点击另一行时取消,我使用的是TTable和TQuery,所以 在 BeforePost 事件中,只需取消您的表或查询。但你还需要做 甚至在 AfterScroll 上也一样,以防万一。

感谢您的所有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    相关资源
    最近更新 更多