我的 DBTreeListView 中的一个单元格绑定(bind)到一个进度条的存储库项。
我希望能够编辑通过单击此单元格显示的进度。在此阶段,我的应用程序应将其单元格更改为另一个存储库项目:一个文本字段,我可以在其中插入值。一旦焦点更改为另一个单元格,我的进度条应该再次显示,显示新值。我该怎么做?
DBTreeListView 具有列事件 OnGetEditingProperty
和 OnGetEditProperties
。我可能会使用其中之一(或两者),但想不出任何好主意。
最佳答案
这可以很简单。您应该处理此进度条上的单击并在其上显示编辑器。您需要处理滚动并单击另一个位置以摆脱编辑器。如果滚动得太远 - 编辑器应该被隐藏。
步骤:
- 为进度创建隐藏编辑器
- 处理 TreeView 项的 OnClick
- 显示编辑器并设置焦点
- 在编辑器中输入(或按 Tab 键)保存进度信息
- 点击表单或 TreeView 的其他部分 - 隐藏编辑器(保存/放弃更改您的政策指定的方式)
- 在滚动 TreeView 上移动编辑器,当父级边界不与编辑器边界重叠时 - 隐藏它
最诚挚的问候, 弗拉基米尔
关于delphi - 如何激活显示为进度条的网格单元的就地编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12302578/