问题标签 [virtuallistview]

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.

0 投票
1 回答
279 浏览

.net - 使用 Novell.Directory 进行虚拟列表视图 Active Directory 搜索会引发 LdapException:不可用的严重扩展

相同的分页代码适用于测试域控制器,但不适用于具有相同类似设置(基于 Windows 2012 r2)的另一个不同 AD 域。DisableVLVSupport=0在这两个域上。

0 投票
1 回答
508 浏览

c# - 为什么不可见的虚拟 ListView 的项目没有索引?

我正在使用虚拟模式下的 ListView (.NET 4.6)。
我试图在虚拟 ListView 中找到 Items 的索引:当我输入一个字母时,应该选择第一个带有以该字母开头的文本的项目。

这是FindItemWithTextlistView1_KeyDown

这是我的 SearchForVirtualItem 方法:

如果结果是我滚动所有代码之前的可见项目之一,我可以选择结果项目。但是,如果结果不可见并且我根本没有滚动任何内容,则该方法将返回 null。

但是,如果我滚动到列表的末尾,即使我可以获得以前无法获得的项目的索引。

示例:如果我在虚拟列表中有 200 个项目(从 200 个 ListViewItem 的列表中填充)并且只有前 50 个可见,如果我按下c 字母并且以c字母开头的项目在前 50 个中,它们将被选中。
但是如果我按下x并且虚拟 ListView 中的项目在最后50,该方法将返回null。如果我将列表滚动到末尾,然后按,将选择 x以开头的项目。x

为什么我必须至少显示一次该项目才能有索引而不是index = -1
这是虚拟 ListView 的正常行为还是有什么问题?

附带问题,正常模式下的 ListView 什么时候变慢?在100,000物品之后,还是1,000,000物品?

Edit1:
这是我的listView1_RetrieveVirtualItem代码:

我不使用缓存。
我使用 BackGroundWorker 从 SQLite 数据库中获取数据;我创建 ListViewitems 并将它们添加到 List ( var lvis = new List<ListViewItem>) 中。

RunWorkerCompleted方法 :

lvis是虚拟 ListView 从中获取数据的来源。

0 投票
2 回答
309 浏览

listview - 在 Delphi ListView 中以编程方式选择一行后,使用 shift 箭头进行多项选择

我在 Delphi 中同时使用所有者绘图和数据列表视图,如果我在第一次以编程方式更改所选行后立即使用 shift 箭头选择,我注意到一个奇怪的问题。

考虑以下窗口,我尝试用最少的代码显示问题:

Shift Down 选择搞砸了

这是复制问题的最小 Delphi 代码:

[编辑] 正如 Andreas Rejbrand 所指出的,非所有者绘制非所有者数据列表视图也存在问题。

0 投票
1 回答
262 浏览

filemaker - 在虚拟列表 Filemaker 中组合来自多个源的行

我正在尝试使用虚拟列表作为数据源在 Filemaker 中制作类似 Excel 的“数据透视表”。问题是我希望能够在第一列中包含未修复的“类别”。字段名称不起作用。

我目前的想法是有一个包含布局名称和类别字段的表,我将通过 ExecuteSQL(或其他函数)将其与其余数据结合起来。

我可以让它与两个 ExecuteSQL 语句一起工作,一个用于类别,一个用于“大量”数据,使用 eSQL 类别中的 WHERE 文本,然后我将它们组合成一个,然后我就设置好了。

我的问题是我希望能够使用get(LayoutName)函数获取类别,从而使脚本更加灵活。每当我get(LayoutName)在 SQL 的 WHERE 行中使用 ? 为结果。我还尝试使用 get(LayoutName) 将布局名称放在字段中,然后像在 WHERE 语句中一样使用该字段,但这也会返回错误。

我承认我在这方面有点新手,所以问题可能出在键盘和椅子之间,有一个简单的语法错误。我尝试了很多不同的方式,包括引号、不引号、单引号等。

这是我用来提取类别的内容...

替换(ExecuteSQL(“SELECT Category_List FROM Categories_VL WHERE Layout_Name = Get(LayoutName)”;“”;“”);“,”;$$delim)

所有字段名称都是正确的,如果我将 LayoutName 更改为与我想要的 Layout_Name 字段匹配的文本,它就可以正常工作。

如果我太罗嗦了,我深表歉意,但我认为更多信息比回答一堆问题要好,因为我忘记了一些东西!

蒂亚!

0 投票
1 回答
19 浏览

pagination - 如何使用基于光标的分页为窗口虚拟列表供电?

采用一个窗口虚拟列表,该列表能够在列表中的任何点加载任意范围的行,例如以下示例

虚拟列表提供了一个回调,当用户滚动到一些尚未从后端获取的行时调用该回调,并提供开始和停止索引,以便在基于偏移量的分页端点中,我可以获取所需的项目无需获取任何不必要的数据。

我想用基于光标的分页替换基于偏移的分页,但我不知道如何用它重现上述逻辑。

主要问题是我觉得我需要先下载所有项目才能startIndex接收获取 startIndex 和 stopIndex 之间项目所需的光标。

解决这个问题的正确方法是什么?

0 投票
1 回答
92 浏览

mfc - 虚拟列表控件滚动非常缓慢

我从 CMFCListControl 子类化并在报表视图 (LVS_REPORT) 中创建一个列表控件来显示数据。由于我的数据包含一百万条记录,因此填充列表控件的 AF 前期速度很慢(平均 6 分钟),但之后非常流畅。我使用 LVS_OWNERDATA 窗口样式切换到虚拟列表控件。它工作得更好(调试时为 75 秒),但是,在初始显示之后,任何滚动尝试都非常缓慢。它可以工作,并且永远不会崩溃,但需要 2 分钟才能显示更改。读取的数据在内存中的 std::map 中,因此磁盘驱动器或网络延迟问题不是原因。