Tag: virtualmode

C#DataGridView虚拟模式:启用排序

有没有办法在虚拟模式下对DataGridView进行排序? 我在此微软示例之后以虚拟模式实现了Gridview: http : //msdn.microsoft.com/de-de/library/ms171624.aspx 。 我也修改了示例,以便能够将数据写入数据库。 这很好,虚拟模式可以大大提高速度,但我的客户需要对列进行排序。 在搜索网页一段时间后,我找到了链接http://social.msdn.microsoft.com/forums/en-US/winformsdatacontrols/thread/25b3f7c3-95b6-4c49-802b-b5a2a62915ac ,但无法获取工作。 有人能指出如果有办法在虚拟模式下对列进行排序,如果是这样,我将如何做到这一点? 非常感谢提前!

如何在虚拟模式下显示所有列表视图项目上的图标(C#)

我正在使用listview的虚拟模式来显示大数据。 但我不知道如何显示每个项目的图像。 谁能帮我 ? 我写 private void ListContact_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e) { MyContact contact = ContactData.GetMyContact(e.ItemIndex); if (e.Item == null) e.Item = new ListViewItem(contact.ToString()); if (contact.Photo != null) { e.Item.ImageList.Images.Add(“” + contact.Id, contact.Photo); e.Item.ImageKey = “” + contact.Id; } else { e.Item.ImageKey = “default”; } } 但它无法正常工作

ListView OwnerDraw的默认实现

我有一个ListView ,我希望调整项目的绘图(例如突出显示列表视图中的某些字符串),但我不想从根本上改变项目的显示方式。 我已将OwnerDraw设置为true,并且可以了解如何绘制我的突出显示效果,但是每当我尝试按照默认实现绘制列表视图项的其余部分时,事情就会出错并且我会留下一个整体加载图形问题,表明实际上我已经完全出错了。 有什么地方我可以看到DrawItem和DrawSubItem事件的“默认”处理程序,以便我可以更好地理解并更容易调整我的代码吗? 这里有一个片段显示我目前正在做的事情: public MyListView() { this.OwnerDraw = true; this.DoubleBuffered = true; this.DrawColumnHeader += new DrawListViewColumnHeaderEventHandler(MyListView_DrawColumnHeader); this.DrawItem += new DrawListViewItemEventHandler(MyListView_DrawItem); this.DrawSubItem += new DrawListViewSubItemEventHandler(MyListView_DrawSubItem); } private void MyListView_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e) { // Not interested in changing the way columns are drawn – this works fine e.DrawDefault = true; } private void MyListView_DrawItem(object […]

如何找出屏幕上当前的DataGridView行?

在我的C#(2010)应用程序中,我在虚拟模式下有一个DataGridView,它拥有数千行。 是否有可能找出目前屏幕上的哪些细胞?