问题标签 [listview]

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 投票
6 回答
14197 浏览

wpf - 在运行时动态创建 WPF ItemTemplate

在运行时,我想在 WPF ListView 中动态构建网格列(或其他显示布局)。我事先不知道列的数量和名称。

我希望能够做到:
MyListView.ItemSource = MyDataset;
MyListView.CreateColumns();

0 投票
2 回答
342 浏览

.net - 强制 ListView 在后台绘制

我有一个 ListView,有时我需要放入大约 10000 个项目。ListViews 并不能很好地处理这个问题,它们在对项目进行排序并绘制它们时会锁定几秒钟。如果您单独添加项目,则更糟糕的是,锁定了近一分钟。

为了解决这个问题,我想在需要显示它之前尝试填充 ListView,但不幸的是它还有其他想法。它仅在我打开包含 ListView 的面板时才开始绘制,使程序挂起几秒钟。

关于如何消除这种延迟的任何想法?或者是否有另一个相对容易使用的组件更擅长显示大量数据?

0 投票
3 回答
4404 浏览

c# - 如何在维护相邻列的同时在列表视图中实现排序?

我有一个有几列的 ListView。

其中一个包含“名称”,另一个包含“金额”。我想允许用户单击列表视图中的名称列并按字母顺序排序,还允许用户单击“金额”并按数字排序(更高/更低-更低/更高)。

实现这一点的最佳方法是什么?

0 投票
4 回答
6209 浏览

c# - .Net 中的同步列表视图

我正在开发一个控件,将视图从一个 ListView 绑定到另一个,以便在滚动主 ListView 时,更新子 ListView 视图以匹配。

到目前为止,当单击主滚动条按钮时,我已经能够让子 ListViews 更新他们的视图。问题是当单击并拖动 ScrollBar 本身时,子 ListViews 没有更新。我查看了使用 Spy++ 发送的消息,并且发送了正确的消息。

这是我当前的代码:

根据 MS 技术论坛上的这篇文章,我尝试捕获和处理 SB_THUMBTRACK 事件:

这将更新子 ListView ScrollBar 的位置,但不会更改子视图中的实际视图。

所以我的问题是:

  1. 拖动主 ListView ScrollBar 时是否可以更新子 ListViews?
  2. 如果是这样,怎么做?
0 投票
3 回答
301 浏览

.net - ListViewSubtemCollection 将什么用于其键?

我正在尝试获取一些 ListViewSubItems 的值,但我不知道它的键使用什么值。我有一些简单的代码:

这 ???部分是我遇到问题的地方。我无法弄清楚钥匙是什么。我尝试了 ListView 的列名,但没有成功。我想使用这种方法而不是使用数字索引。

0 投票
4 回答
5841 浏览

c# - 为什么我的 ListView 不显示 List 或 Details 项?

使用 C# .NET 2.0,我有一个所有者绘制的 ListView,我在其中覆盖了 OnDrawColumnHeader、OnDrawItem 和 OnDrawSubitem 事件。如果我在设计时将 View 属性设置为 Details,则一切正常,我可以切换 View 属性,并且所有视图模式都按应有的方式显示(我没有使用 Tile 视图)。但是,如果我从任何其他视图开始,列表和详细信息视图都是空白的。

我知道你可能想看代码,但是代码很多,所以我不愿意发布那么多,但如果有必要可以。我更好奇是否有人以前见过这个,和/或可能对如何修复它有所了解。View 属性将是用户保存的设置,因此默认情况下我不会总是能够在 Details 视图中启动。

0 投票
5 回答
4284 浏览

c# - 读取逗号分隔文件并将数据放入 ListView - C#

好吧,我正在尝试读取一个逗号分隔的文件,然后将其放入 ListView (或任何网格,真的)。我已经处理了工作的定界部分,文件的字段被放入多维字符串数组中。问题是试图将其放入 ListView。

似乎没有真正的动态添加列或项目的方法,因为每个列和项目都需要手动声明。这带来了一个问题,因为我需要 ListView 与文件一样大,而没有设置谁的大小。一次可能很大,一次可能很小。

对此的任何帮助将不胜感激。


回应杰弗里的回答。

我会这样做,但我遇到的问题是一个基本问题。如何在不命名它们的情况下创建这些对象。菜鸟问题,但遗憾的是,对我来说是个问题。这就是我到目前为止所拥有的。

listViewItem1的名字该怎么办?

0 投票
4 回答
5016 浏览

c# - 如何有效过滤大型 LIstViewItemCollection?

所以我有一个 ListView,其上限约为 1000 个项目。我需要能够使用文本框的 TextChanged 事件过滤这些项目。我有一些代码适用于较少数量的项目(~400),但是当我需要重新显示所有 1000 个项目的完整列表时,大约需要 4 秒。

我不是每次都创建新的 ListViewItems。相反,我保留完整项目集合的列表,然后从中添加。无论如何, .Add 方法似乎都需要很长时间。这是一个小示例:

我尝试只添加丢失的项目(即当前显示的项目与项目总列表之间的差异),但这也不起作用。可能会出现当前只显示一项的情况,用户清除了文本框,而我需要显示整个列表。

我在用这样的大样本从 .NET 控件中寻求性能方面不是很有经验,所以我真的不知道更好的方法。有没有办法使用 .Add() 方法,或者如果没有,只是更好的通用解决方案?

0 投票
3 回答
7118 浏览

asp.net - 显示带有嵌套 ListViews 的 IGrouping<>

我需要从我的数据访问层检索一组按 widget.Manufacturer 分组的小部件,以显示在一组嵌套的 ASP.NET ListView 中。

问题是(据我所知)嵌套的 ListView 方法需要我在使用数据之前对其进行整形,而我无法找出最好的方法。到目前为止,我能想到的最好的方法是在我的数据访问层中放置一个 LINQ 查询,如下所示:

当然,匿名类型不能被传递,所以这是行不通的。定义一个自定义类来包含数据似乎是错误的方法。有什么方法可以在 ASP.NET 方面执行分组吗?我正在使用 ObjectDataSources 来访问 DAL。

更新:好的,我不再创建匿名类型,而是我的 DAL 将一个传递IEnumerable<IGrouping<Manufacturer, Widget>>给 ASP.NET 页面,但是如何在我的 ListViews 中使用它?我需要呈现以下 HTML(或类似的东西)

最初,我在 ListView 中有一个 ListView,如下所示:

请注意DataSourceWidgetsListView 的属性本身是如何数据绑定的。如何在不重塑数据的情况下复制此功能?

这有点复杂,对不起,如果我应该提出一个单独的问题。

0 投票
1 回答
1961 浏览

c# - 单击 ListView 列标题时将文本添加到剪贴板 - C#

当单击列标题之一时,是否存在激活 ListViews 的事件?计划是在用户单击列标题时将一些文本添加到用户的剪贴板。有什么简单的方法可以做到这一点?