问题标签 [tlistview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - 在添加到 Tlistview 之前检查 TListItem 是否重复
我有一个列表records
,我想总结成一个TListView
记录结构如下
记录中可能有 SourceTable / TargetTable 的多个实例,Source/Target Field 的单个实例
我想创建一个TListView
in vsReport 样式来总结每个 SourceTable\TargetTable 对。
理想情况下,我想做以下事情:
即创建一个独立的TListItem,检查它不存在,然后将它添加到我的TListView。然而,它在分配时中断LI.Caption
- 基本上没有什么可分配的。我怀疑至少部分问题是(nil)
TListItem 的正常创建将是使用LI := lvMigration.Items.Add;
,但这对我的用例没有帮助。我似乎找不到任何完成上述操作的文档。
delphi - Delphi - 获取和设置 ListView 的滚动条位置
这似乎是一个愚蠢而简单的问题,但是,我一直无法找到令人满意的答案。基本上,我有一个带有数据的TListview (style = vsReport)。有时,我必须更新它,因此,我必须清除列表视图并用更新的数据再次填充它。
但是,当我这样做时,滚动条位置被重置为 0。我希望能够在清除之前获得滚动条位置并将其设置回原来的位置。如果更新的数据与旧数据的行数完全相同,我需要滚动条位于与以前完全相同的位置;如果没有,我只需要它或多或少和以前一样在同一个地方。
看起来很容易,对吧?然而,我发现的只是TopItem和MakeVisible的黑客或调整。有没有合适的方法来做到这一点?
谢谢!
delphi - 有没有办法摆脱 TListView 控件中的这个绘画问题?
我在 Windows 7 64 位上使用 XE5 Update 2(所有更新都是最新的)。
我有一个带有简单 TListView 对象的应用程序。
这是一些密码。它只是显示来自 fireac TFDQuery 对象的数据。
如下图所示,当我选择几行然后取消选择它们时,会出现一些重绘问题。如果我将 OwnerData 设置为 false 并使用 lsvReceipts.Items.Add 方法手动将记录添加到列表中,则不会发生。
关于如何摆脱这个的任何想法?根据我在这里看到的其他消息,控件充满了问题。不幸的是,我现在必须使用它。
如果您想知道,我需要一个包含多列的列表,用户可以在其中选择多条记录。我开始使用带有多选选项集的 DBGrid,但是,在使用它一段时间后,选择多行的功能受到限制(例如,SHIFT+Click、SHIFT+PageUp/PageDown 不起作用)。无论如何,我们计划将来升级到 devexpress 网格,但现在我必须坚持使用 vcl vanilla 控件。
谢谢
delphi - TListView SelCount 报告虚拟列表中的项目数错误
我需要根据是否在列表中至少选择了一行来启用或禁用按钮。
以下是重现此问题的代码。该列表使用 OnData 事件填充,它允许选择多行。
我认为我可以使用 OnSelectItem 来检测用户何时更改选择,然后使用 TListView SelCount 函数来检测所选行数。
问题是当用户选择多行时 SelCount 返回 0。如果手动填充列表(即不是通过 OnData 事件),这可以正常工作。
有任何想法吗?
谢谢
更新:使用 OnChange 事件似乎可以解决问题。理解为什么 SelCount 在选择多行时返回 0(从 SelectItem 事件中)仍然会很有趣。
另一个更新:我发布了一个测试项目:https ://dl.dropboxusercontent.com/u/35370420/TestListView2.zip以及截图:
要重现此问题,请运行应用程序,选择 Item1,然后 SHIFT+单击 Item2。该按钮被禁用。我的意图是只要在列表中至少选择了一项,就可以动态启用该按钮。如果没有选定的项目,则该按钮被禁用。
PAS 文件:
形式:
delphi - 清除和重新加载组和项目后,TListView 组和项目不出现
德尔福 XE4 更新 1 和 Windows 8。
当我将组和项目添加到列表视图时,它们会正确显示。然后,当我清除项目和组并再次添加它们时,什么也没有出现。当然这不是预期的行为?
来自 DFM:
编码:
我第一次单击该按钮时,项目会出现并且它们被分组。第二次,列表视图为空白。如果我注释掉清除组的行,那么它可以工作,但是组的数量,所有这些都未使用,只有一个,每次都会增加 1。
delphi - 使用资源管理器样式时,TListView 不隐藏选择
In Delphi XE4 if you set HideSelection to true and use an explorer style TListView (when the selection rectangle has a gradient background like Windows Explorer) clicking on another control will not hide the selection rectangle. 它会呆在那里,就好像什么都没发生一样——当 Listview 没有焦点时,它甚至不会像往常一样变成灰色矩形。
这是 Delphi 错误还是 MS Listview 控件的“功能”?是否有任何已知的解决方法或修复方法?真的很烦...
delphi - 如何在项目单击时禁用 TListView 编辑?
当我单击 TListView 选定项但不完全禁用它时,我想禁用进入编辑模式(设置属性 ReadOnly=True)。我希望仍然能够通过其他方法对其进行编辑。有可能的 ?
android - Delphi XE6 mobile:绑定TObject属性时如何获取分配给TListviewItem的TObject
我有以下内容:
我使用带有 TAdapterBindSource 和 TDataGeneratorAdapter 的 TMyList 将 TMyList 绑定到 TListview。好的,项目已正确显示。
当我在 TListview 的项目中单击时,在 OnItemClick 中,我需要知道 TListViewItem 分配了哪个 TMyObject 实例。
使用 TListViewItem.Index 不起作用,因为我的列表视图有标题项,然后索引值不对应。
单击列表视图项时,我需要获取 TMyObject 的属性值。
谢谢。
json - tListView、XE6、BaaS:如何在嵌套对象中获取字符串
我是 Delphi XE6、VisualBinding 和 BaaS-Providers 的新手。我很高兴看到将 JSON 响应从 tBackendQuery 转换为列表视图是多么容易。我的 BaasStorage 包含一个名为 FilePDF 的列,其中包含一张图片(是的 JPG,必须重命名..)。我在查询中得到的是 Internet 中文件的 URL。如何在单独的变量中获取此 URL?(我的快速而肮脏的解决方案是浏览显示 JSON 响应的备忘录并抓住每“1 +(ix * 15)+ 6”行......
我想显示一个屏幕截图,但我没有足够的声誉......所以这里是 JSON-REspone......
(Sarina Dupont 似乎有一个教程,但链接不起作用......)