欺骗滚动条滚动浏览已卸载的项目

时间:2012-06-11 08:32:25

标签: c# wpf datagrid

我在服务器上有一个可能很大的xml数据文件。我希望将数据加载到客户端计算机上的数据网格中,以允许用户滚动xml文件中的项目并选择一个。由于潜在的巨大数据大小,我真的不想得到整个xmlfile并将其加载到数据网格中。出于这个原因,我试图给出所有数据加载的印象而不实际加载所有数据。

我这样做是通过从滚动条捕获滚动事件并请求行currentScrollbarvalue to ( currentScrollbarvalue + number of records to display )将xml加载到xmldataprovider并将其设置为datagrid的数据源。我遇到的问题是我的数据网格在滚动时偶尔闪烁灰色。我假设这是因为它在正在分配的数据源之间呈现数据网格?

基本上我想知道我是否以正确的方式这样做,如果可以的话,是否可以阻止这种闪烁。

如果您需要更详细的解释或任何代码发布,请告诉我。

1 个答案:

答案 0 :(得分:1)

使用VirtualMode属性。这样,网格项只有在可见时才会显示。 然后使用实现事件CellValidating来填充列表。 见http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.virtualmode.aspx

对于DataGrid,您需要将EnableRowVirtualization属性设置为true。这仅适用于数据绑定。

请参阅 http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.enablerowvirtualization.aspx