我在服务器上有一个可能很大的xml数据文件。我希望将数据加载到客户端计算机上的数据网格中,以允许用户滚动xml文件中的项目并选择一个。由于潜在的巨大数据大小,我真的不想得到整个xmlfile并将其加载到数据网格中。出于这个原因,我试图给出所有数据加载的印象而不实际加载所有数据。
我这样做是通过从滚动条捕获滚动事件并请求行currentScrollbarvalue to ( currentScrollbarvalue + number of records to display )
将xml加载到xmldataprovider并将其设置为datagrid的数据源。我遇到的问题是我的数据网格在滚动时偶尔闪烁灰色。我假设这是因为它在正在分配的数据源之间呈现数据网格?
基本上我想知道我是否以正确的方式这样做,如果可以的话,是否可以阻止这种闪烁。
如果您需要更详细的解释或任何代码发布,请告诉我。
答案 0 :(得分:1)
使用VirtualMode
属性。这样,网格项只有在可见时才会显示。
然后使用实现事件CellValidating
来填充列表。
见http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.virtualmode.aspx
对于DataGrid
,您需要将EnableRowVirtualization
属性设置为true
。这仅适用于数据绑定。