views:

291

answers:

1

Hello

I want to make a CListView that will read his rows from e remote server using socket. The rows may be more than a million that's why i need to read rows only when I need them and may be read them in a groups (with more that 1 row per request). I also need to support sorting by rows.

May be I have to use List Control with LVS_OWNERDATA flag? And when I have to read another one group of rows? Do I need a Prev, Next buttons like if it was a web page grid?

Can you please give me some advice?

Best Regards

P.S. But there is another problem that I have ... CListView is in the main UI thread, but I can request rows only from the second thread which may not always be available for using.

May be I have to block UI thread in callback for rows information?

And is there a way that I can block ListView for asking for a new rows information? May be disable it until my second thread is busy?

+1  A: 

Read Raymond Chen about OWNERDATA listviews. You'll need to implement your own cache for fetched data, and display something sensible while data is being fetched. I don't think Next/Prev buttons are a good idea, the list view handles its own navigation (scrollbar, keyboard shortcuts etc.)

Anton Tykhyy