问题标签 [tlistbox]
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 - 为什么在检查最后一个 TListBoxItem 时我的 TListBox 变为空白?
问题
当以编程方式检查最后一个时,我TListBox
的变得空白。为了更好地说明它,在此我所说的空白是什么意思:TListBoxItem
语境
我正在从TJSONArray
. 每个项目看起来像{"event_code","event_name"}
。
然后,我比较 event_code 是否写在第二个TJSONArray
:上json_response_available_events
。如果是这样,ListBoxItem
将进行检查。
代码
分析
如果我们设置为<
only,它会正确显示列表,但最后一项将保持未选中状态。
我什至可以更改它的=
属性
并且lb_item.isChecked := false
工作正常,但是在设置时lb_item.isChecked := true
它变得异常空白。
为什么会这样?如果有更好的方法来做我正在做的事情,我们将不胜感激。
drag-and-drop - delphi xe 7 Tlistbox主窗体拖放后焦点松动
我在 delphi xe7 中发现了一个错误,在拖放 TlistBoxitem 之后,对所有组件都形成了松散的效果。
我必须单击表单才能获得 mouseenter 效果。我看到(在调试模式下)TlistBox 通过调用 os dragAndDrop 服务的操作系统开始拖放。来自 FMX.ListBox 单元
我在 delphi berlin 上尝试了拖放,该错误已修复。我看不到源,因为它是轻型版本。
我在网上没有找到任何解决方案。
我做了一个项目示例:http: //www.partage-fichiers.com/upload/qgbl1e5g
拖放项目后,鼠标输入(在所有组件上)并单击 Tlabel(hittest=true)不会被触发
sorting - Delphi按ItemData.Detail对TListBox排序?
我有一个包含位置列表的 TListBox(每个位置都有一个名称和与您当前位置的距离)。我想为用户提供按位置名称(即按字母顺序)或与当前位置的距离对列表进行排序的选项。位置名称存储为项目的 ItemData.Text 值,与当前位置的距离存储为 ItemData.Detail 值。问题是常规 TListBox 排序方法在排序时不使用 ItemData.Detail 属性(仅使用 ItemData.Text 属性)。是否可以向 TListBox 添加自定义排序方法,该方法根据每个项目的 ItemData.Detail 值进行排序?
我尝试了以下方法,但它不起作用:
这是一个将被排序的示例列表的图像:
delphi - 列表框 Onchange 事件,组件
我想制作一个基于TListBox
.
当Items.Count
更改时,我想更新Caption
a TLabel
:
我制作了下面的组件,但它不起作用:
delphi - Firemonkey TListBox.OnClick - 点击了哪个项目?
Delphi 10.2.2 移动版
从一个空白的移动项目开始,我在表单上放置了一个 TListBox。我添加了两个 TListBoxItem。
当我单击 Windows 和 Macintosh 中的第一个项目时, OnClick() 正确报告已单击项目索引 0。
当我单击移动设备(iOS 和 Android)中的第一个项目时,OnClick() 将项目索引报告为 -1(而不是应该的 0)。然后它继续突出显示第一项。
如果我然后单击移动设备中的第二个项目,则 OnClick() 将项目索引报告为 0(而不是应有的 1)。然后它继续突出显示第二项。
在移动设备上单击 TListBox 时,如何在 OnClick() 中获取正确的项目?
delphi - 带有MultiSelect的Firemonkey(Delphi)TListbox获取所选项目
我在 Delphi 10.2 Tokyo 中使用 Firemonkey。
我有一个 HD 表格,TListBox
它的 aMultiSelectStyle
设置为Extended
or 或Default
。
我可以选择多个项目,但是我找不到以编程方式确定选择哪些项目的方法。
这段代码
我见过的变体无法编译:
[dcc32 错误] MainApplication.pas(60): E2149 类没有默认属性
我已经通过了各种属性和方法,TListBox
但我看不到找出哪些项目被选中的方法。
任何人都可以帮我解决这个问题吗?
delphi - 防止“刷出” TListBox 项
我有一个 Delphi Berlin 构建的 Android 应用程序,其中包含一个 TListBox。在某些时候,我手动添加了一个 TListItem (下面的代码)。不幸的是,用户可以对其进行向右或向左滑动,这似乎会删除列表项,并且会在稍后的某个时间点导致应用程序崩溃。
如何禁用在 TListBoxItem 上向右或向左滑动的功能?我没有看到任何用于删除功能的滑动,并且我已经尝试捕获向右滑动的手势,但没有运气。如果我将 Selectable 设置为 false,我将无法再滑动它,但是上面的 Item 的绘画将被删除。
在运行时添加项目的代码:
delphi - 在按字符串过滤时隐藏 TListBox 中的项目
简短版:有没有办法单独控制或修改 LisBox 项目?例如,将它们的Visible 属性分别设置为 False。我在搜索时在Fire Monkey中找到了一个TListBoxItem类,但我不想在 VCL 中使用 Fire Monkey 并想要它。
详细版本:我尝试使用两个 TStringList 和一个 Edit 过滤我的 ListBox,一个 StringList 是全局的以保留原始列表(list_files_global
),另一个 StringList 帮助过滤过程(list_files_filter
),我的主要文件列表是我的 ListBox(list_files
)。onCreate
当程序开始存储我的原始列表时,我在事件上创建了我的全局 StringList :
并使用 Edit 的onChange
事件进行过滤:
为了关闭过滤器,只需从我最初创建的全局列表中恢复列表:
到目前为止,一切正常,但问题是当我试图从过滤列表中编辑/重命名/删除项目时,例如我更改了一个项目:
列表将被编辑,但是当我关闭过滤器时,原始列表将返回并且所有更改都将丢失。所以我想知道有什么合适的方法来解决这个问题吗?像单独隐藏项目或更改项目可见性等...所以我可以更改过滤算法并摆脱所有这些制作额外列表的操作。我在互联网上搜索并查看了一整天的 Delphi 帮助文件,没有任何有用的东西出现。