Dodanie do post z 4 miesięcy temu, które niestety nie otrzymały żadnej odpowiedzi.Żądania DataGrid podczas wieloselekcji przesunięcia z wirtualizacją danych
Zasadniczo stoję przed tym samym problemem podczas korzystania z wielokrotnego wyboru w datagrid z przesunięciem.
Znajdując się gdzieś pośrodku ogromnej listy (powiedzmy, że jest to 1 000 000 elementów w siatce, wszystkie dane wirtualizowały) i miałem wybrać od 500 000 do 500,050 za pomocą shift + kliknięcie myszką, siatka nazywa "GetEnumerator()" "metoda mojej wirtualnej listy (podobna implementacja do Vincenta i Paula). To, co robiłem do tej pory, było tylko zaznaczeniem na stronach z pamięci podręcznej. Ale niestety spowodowało to, że wiersze nie zostały poprawnie wybrane (podczas gdy ctrl + kliknięcie myszką wykonuje zadanie!).
Więc znalazłem, że DataGrid faktycznie oczekuje wszystkie przedmiotów od indeksu 0 do ostatniego wyboru. To oczywiście nie jest idealne dla listy 1m pozycji, ponieważ spowodowałoby to żądania dla każdego elementu od 0 do (w moim przykładzie) 500,050, a tym samym ładowanie wszystkiego z bazy danych.
Więc moje pytania byłyby takie same jak te Daniel TH elinked pisał powyżej:
Dlaczego żądania DataGrid przedmiotów wielokrotnie (wybrane pozycje są o ~ 6-7 razy z rzędu dla bez wyraźnego powodu)?
Czy istnieje sposób na to, aby DataGrid nie korzystał z modułu wyliczającego i po prostu wybierał wybrane elementy, a nie dokonywał iteracji od 0?
Dziękuję bardzo, mam nadzieję, więcej szczęścia w uzyskaniu przynajmniej inspirującej odpowiedzi, jak nie ma wiele można znaleźć dotycząca wirtualizacji danych.