2012-06-11 20 views
0

我在服務器上存在一個潛在的巨大xml數據文件。我想要將數據加載到客戶端計算機上的數據網格中,以允許用戶滾動瀏覽XML文件中的項目並選擇一個。由於數據的潛在巨大的規模,我真的不想得到整個xmlfile並將其加載到數據網格中。由於這個原因,我試圖給所有的數據加載的印象,而沒有實際加載全部。將滾動條拖入未裝載項目滾動

我這樣做是通過從滾動條捕獲滾動事件並請求行currentScrollbarvalue to (currentScrollbarvalue + number of records to display)將xml加載到xmldataprovider並將其設置爲datagrid的數據源。我遇到的問題是我的數據網格在滾動時偶爾閃爍灰色。我假設這是因爲它正在渲染數據源之間的數據源被分配?

基本上,我想知道我是否以正確的方式做這件事,如果是的話,如果可以阻止這種閃爍。

如果您需要更詳細的解釋或任何代碼發佈請讓我知道。

+0

閃爍的是有可能的重繪,你可以通過創建一個OnPaint事件進行測試。 – Amicable

+0

事情是它不閃光所有的時間。如果我在滾動條上單擊上/下,它不會閃爍。只有當我按住滾動條並向上/向下拖動以快速移動記錄時纔會發生閃爍。 – user589195

回答

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

+0

它是一個WPF數據網格而不是datagridview。數據網格中有類似的東西嗎? – user589195

+0

你能詳細解釋一下嗎? – user589195