问题标签 [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 投票
3 回答
5501 浏览

wpf - 如何在 WPF ListView 中获取所选项目容器的坐标

我想在 ListView 的选定项附近显示一些 WPF 元素。如何获取所选 ListViewItem 的坐标(屏幕或相对坐标)?

0 投票
1 回答
6785 浏览

wpf - 在 ListView 中为不同的类别项目更改(启用/禁用)GroupStyle

如何在运行时根据某些条件在GroupStylesa之间切换?ListView例如,我需要对GroupStyle标头名称为空的项目使用默认值,如果它不为空,则使用自定义GroupStyle主题?我试过GroupStyleSelector了,但它不起作用,因为它适用于多级分组,而在我的情况下,我只有一级分组。

如果是,那么如何?

自定义GroupStyle

非常感谢。

真诚的,弗拉德。

0 投票
1 回答
4099 浏览

.net - 使用 VirtualMode=True 时如何更新 WinForms ListView?

我有一个带有大型 ListView 的应用程序,它非常慢,所以我正在实现 VirtualMode。MSDN 似乎没有涵盖我将如何在列表视图中间添加和删除新项目。

例如,ListView 有 1000 个项目(表示磁盘上的文件),在 ListView 的初始填充之后(通过 RetrieveVirtualItem 事件),一些文件将被删除并添加一些文件,因此 VirtualListSize 在更新后甚至可能相同。

问题 1)我如何对 ListView 说“这些项目已被更改/删除”以便它重新查询?

此外,一些文件只是更改,我想在列表视图中反映它们的更改状态。

问题 2)鉴于 VirtualMode 不允许我访问我之前使用的 Items 集合(我在该集合上使用了 ContainsKey 方法),我如何在列表视图中找到一个项目。

听起来很简单,但我自己看不到。非常感谢帮助。

瑞安

0 投票
1 回答
119670 浏览

wpf - ListBox vs. ListView - 如何选择数据绑定

我正在考虑为 WPF 应用程序使用 ListBox 或 ListView。似乎要么支持数据绑定和项目模板。我的应用程序有一个简单的项目列表,我打算根据用户输入搜索/排序/过滤这些项目。数据绑定演示 ( http://msdn.microsoft.com/en-us/library/ms771319.aspx ) 使用带有 CollectionViewSource 的 ListBox。

是否有人对使用哪个控件以及何时使用有优点/缺点?

0 投票
2 回答
3573 浏览

mfc - 如何在 MFC 的 CListCtrl 中插入位图或其他图像对象?

我想在 listctrl 中列出一组照片的缩略图。但实现此目的的唯一方法是使用 setImageList 方法将图像列表绑定到 CListCtrl 对象并插入如下项目:InsertItem (int nItem, LPCTSTR lpszitem, int nImage)。我还必须通过 ModifyStyle(LVS_TYPEMASK, LVS_ICON) 修改 listctrl 的样式,以强制它显示每个项目的图标。

我不认为这种方法是实现我的目标的好方法。我可以直接在 CListCtrl 中添加位图或其他图像对象吗?

非常感谢!

0 投票
4 回答
1652 浏览

mfc - 我调用 CListCtrl::InsertItem() 方法会引发什么消息或事件?

我打算实现 CListCtrl 的所有者绘制。我认为绘制一个项目是在将项目插入控件之后。所以我的方法是声明一个从 CListCtrl 派生的类并覆盖它的 DrawItem() 方法。问题是在插入项目后永远不会调用 DrawItem。我的方法有什么问题吗?

谢谢!

0 投票
7 回答
32638 浏览

asp.net - 带有 DataPager 的 ListView 不起作用

从我读过的所有内容来看,似乎将分页添加到 ListView 控件应该非常简单,但它对我不起作用。在将 ListView 和 DataPager 控件添加到表单并将它们连接在一起之后,我的行为变得非常奇怪。DataPager 正确地限制了 ListView 的页面大小,但单击分页按钮根本不会影响 ListView。分页按钮似乎认为他们正在做他们的工作,因为当您转到最后一页等时,最后一个按钮被禁用,但 ListView 永远不会改变。此外,它需要在 DataPager 上单击两次才能使其执行任何操作,即单击 Last 一次不会执行任何操作,但再次单击它会使 DataPager 做出反应,就好像现在选择了最后一页一样。

我能想到的唯一一件事是我在运行时将 DataSource 绑定(到 LINQ 对象),而不是使用 LinqDataSource 控件或任何东西。有没有人见过这种行为?难道我做错了什么?这是我正在使用的代码:

在代码隐藏中:

0 投票
1 回答
2330 浏览

visual-c++ - 如何在自定义淹没 CListCtrl 中更改项目大小和它们之间的间隙

据我所知ON_WM_MEASUREITEM,不会在自定义绘制列表控件中调用。仅当控件为所有者绘制时才使用。

我找到了一种方法来做到这一点,但这有点像 HACK,我仍然无法控制它们以某种方式自动设置的项目之间的差距。

诀窍是您可以CImageList使用所需大小的未使用图像创建,如果将此类图像列表分配给列表控件,则项目的大小将调整为接近图像大小的尺寸。之后,您可以使用自定义绘图在这些放大的项目中绘制任何内容。

所以问题是如何在自定义淹没控件中更改项目大小和它们之间的间距?

LVS_OWNERDRAWFIXED还是我唯一的选择是完全由所有者绘制的控件?

0 投票
1 回答
3497 浏览

c# - WinForms 中的标题控件 - 有这样的东西吗?

我正在尝试使用 Windows 本机(主题感知)标题控件来显示一些列标题。主要目的是避免手动绘制列标题并依赖本机支持的功能。

所以我想到的两个选项是:

  1. 使用HeaderControl, 并向其添加列(我似乎找不到 WinForms 支持的标题控件)。

  2. 使用ListView控件,并告诉它不显示任何行(或基本上将其高度设置为列标题的高度) - 找不到任何方法来确定我应该为控件分配哪个高度。

任何好的想法都非常感谢!

0 投票
2 回答
1543 浏览

mfc - CListCtrl 可以使用 OnMeasureItem() 方法吗?

我想根据滑块更改项目的高度和宽度,但据我所知,没有像 CListBox 这样的 measureitem 方法。我怎样才能解决这个问题?

谢谢!