-
1. Data: 2010-02-24 13:40:49
Temat: [.net] wypełnianie grida danymi tylko wtedy gdy trzeba (lazy loading)
Od: razor <r...@g...com>
Witam !
Próbuję zrobić coś ala lazyloading w grubym kliencie.
Mianowicie, używam sesji WCF aby pobierać dane kawałkami (po np.
kilkanaście rekordów) -cały grid może mieć ich >100000.
Używam DataGridView (lub GridControl z DevX).
Jak zrobić aby dane zostały pobrane tylko dla wierszy które grid chce
wyświetlić ? a przy przechodzeniu na kolejne wiersze dane byłyby
doczytywane.
Próbowałem przez implementację IList (i dostarczenie tego obiektu jako
DataSource),
lista ta zwraca całkowitą liczbę rekordów (np. 10000) ale dane
rekordów wtedy kiedy są potrzebne. Niestety z gridem to nie działa,
grid bierze z listy enumerator i odczytuje wszystkie rekordy (więc
nici z doczytywania w tym miejscu danych do listy w momencie
potrzeby).
Na dodatek DataGridView jakoś nie reaguje na zmianę danych (np.
dodanie ich) w DataSource, na którym bazuje. Na razie jedynym
rozwiązaniem to było przypisanie nulla a potem znowu mojego obiektu z
danymi (co skutkuje odświeżeniem całego grida i przy okazji
wyzerowaniem zaznaczeń/pozycji itp.)
Czy ktoś próbował zrobić takie opóźnione ładowanie danych lub ma jakiś
pomysł jak to ugryźć ?
pozdr,
razor
-
2. Data: 2010-02-24 13:44:49
Temat: Re: [.net] wypełnianie grida danymi tylko wtedy gdy trzeba (lazy loading)
Od: Jacek Czerwinski <...@...z.pl>
razor pisze:
> Witam !
>
> Próbuję zrobić coś ala lazyloading w grubym kliencie.
> Mianowicie, używam sesji WCF aby pobierać dane kawałkami (po np.
> kilkanaście rekordów) -cały grid może mieć ich >100000.
> Używam DataGridView (lub GridControl z DevX).
>
> Jak zrobić aby dane zostały pobrane tylko dla wierszy które grid chce
> wyświetlić ? a przy przechodzeniu na kolejne wiersze dane byłyby
> doczytywane.
na większosci gridów to się nazywa tryb wirtualny (ale NET-owego nie znam)
-
3. Data: 2010-02-24 17:08:22
Temat: Re: wypełnianie grida danymi tylko wtedy gdy trzeba (lazy loading)
Od: razor <l...@g...com>
On 24 Lut, 14:44, Jacek Czerwinski <x...@...z.pl> wrote:
> razor pisze:
>
> > Witam !
>
> > Pr buj zrobi co ala lazyloading w grubym kliencie.
> > Mianowicie, u ywam sesji WCF aby pobiera dane kawa kami (po np.
> > kilkana cie rekord w) -ca y grid mo e mie ich >100000.
> > U ywam DataGridView (lub GridControl z DevX).
>
> > Jak zrobi aby dane zosta y pobrane tylko dla wierszy kt re grid chce
> > wy wietli ? a przy przechodzeniu na kolejne wiersze dane by yby
> > doczytywane.
>
> na wi kszosci grid w to si nazywa tryb wirtualny (ale NET-owego nie znam)
ha, dokładnie to jest to i nawet zadziałało :)
Jakoś wcześniej zawsze omijałem opis właściwości VirtualMode,
kojarzyło mi się to jedynie z właściwościami design-time.
pozdr,
razor
-
4. Data: 2010-02-24 17:09:27
Temat: Re: wypełnianie grida danymi tylko wtedy gdy trzeba (lazy loading)
Od: razor <l...@g...com>
On 24 Lut, 14:44, Jacek Czerwinski <x...@...z.pl> wrote:
> razor pisze:
>
> > Witam !
>
> > Pr buj zrobi co ala lazyloading w grubym kliencie.
> > Mianowicie, u ywam sesji WCF aby pobiera dane kawa kami (po np.
> > kilkana cie rekord w) -ca y grid mo e mie ich >100000.
> > U ywam DataGridView (lub GridControl z DevX).
>
> > Jak zrobi aby dane zosta y pobrane tylko dla wierszy kt re grid chce
> > wy wietli ? a przy przechodzeniu na kolejne wiersze dane by yby
> > doczytywane.
>
> na wi kszosci grid w to si nazywa tryb wirtualny (ale NET-owego nie znam)
Dokładnie ! to jest to :) i nawet działa.
Nigdy nie spojarzałem na opis właściwości VirtualMode, kojarzyła mi
się jedynie z właściwościami design-time.
pozdr,
razor
-
5. Data: 2010-02-24 17:09:34
Temat: Re: wypełnianie grida danymi tylko wtedy gdy trzeba (lazy loading)
Od: razor <l...@g...com>
On 24 Lut, 14:44, Jacek Czerwinski <x...@...z.pl> wrote:
> razor pisze:
>
> > Witam !
>
> > Pr buj zrobi co ala lazyloading w grubym kliencie.
> > Mianowicie, u ywam sesji WCF aby pobiera dane kawa kami (po np.
> > kilkana cie rekord w) -ca y grid mo e mie ich >100000.
> > U ywam DataGridView (lub GridControl z DevX).
>
> > Jak zrobi aby dane zosta y pobrane tylko dla wierszy kt re grid chce
> > wy wietli ? a przy przechodzeniu na kolejne wiersze dane by yby
> > doczytywane.
>
> na wi kszosci grid w to si nazywa tryb wirtualny (ale NET-owego nie znam)
Dokładnie ! to jest to :) i nawet działa.
Nigdy nie spojarzałem na opis właściwości VirtualMode, kojarzyła mi
się jedynie z właściwościami design-time.
pozdr,
razor