From: David Kaye on
MM <kylix_is(a)yahoo.co.uk> wrote:

>I have the problem described in Microsoft Knowledge Base article
>Q253211. I have 400,000 rows (i.e. way more than 65,535) and when I
>scroll vertically, then release the scrollbar thumb, it snaps back up
>to near the top.

You might consider why you have so many rows. How is the user going to
navigate through all that? I'd suggest using some search criteria to whittle
the result set down to a reasonable size.

If you're simply linking the grid to a table this is the lazy way out. You
should be running a SQL and linking the result set programmatically.

I am working with a music database of 10,000 songs. This is way too many for
the user to work with, so I whittle it down based on genre, year, and other
search factors that make the resultset more palatable.

From: MM on
On Thu, 10 Jun 2010 11:39:12 -0700, Karl E. Peterson <karl(a)exmvps.org>
wrote:

>MM formulated on Thursday :
>> I have the problem described in Microsoft Knowledge Base article
>> Q253211. I have 400,000 rows (i.e. way more than 65,535) and when I
>> scroll vertically, then release the scrollbar thumb, it snaps back up
>> to near the top.
>>
>> I'm on VB6 SP6 already. Does anyone know of a fix?
>
>I don't think that one supports a "virtual" mode, does it? I use the
>ComponentOne grid (VSFlexGrid) in virtual mode whenever I get more than
>a few thousand cells going. It's *lightening* fast, and has no
>practical limits, when used that way.
>
>Did you snag all those C1 controls when they were offered free?

I think I may have them somewhere! I, too, am currently using
VsFlexGrid 7 in trial mode. It also has GetMergedRange which is useful
for determining the text of just the merged cells.

As I begin to use MsFlexGrid and MshFlexGrid for large recordsets it
increasingly becomes clear just how broken these controls are.
MsFlexGrid has a limit of 350,000 cells. And MshFlexGrid has this new
problem with 65,535 records after the previous problem with not
displaying more than 2048 rows was fixed in SP3.

In other words, neither MsFlexGrid nor MshFlexGrid is fit for this
purpose (of displaying large recordsets, not that I'd call 100,000
records large).

MM
From: MM on
On Thu, 10 Jun 2010 19:50:59 GMT, sfdavidkaye2(a)yahoo.com (David Kaye)
wrote:

>MM <kylix_is(a)yahoo.co.uk> wrote:
>
>>I have the problem described in Microsoft Knowledge Base article
>>Q253211. I have 400,000 rows (i.e. way more than 65,535) and when I
>>scroll vertically, then release the scrollbar thumb, it snaps back up
>>to near the top.
>
>You might consider why you have so many rows. How is the user going to
>navigate through all that? I'd suggest using some search criteria to whittle
>the result set down to a reasonable size.

Fair enough, but the fact is that the grid is buggy if it won't
display more than 65,535 records. That isn't a lot at all and
MergeCells permits a much better overview anyway.

>If you're simply linking the grid to a table this is the lazy way out. You
>should be running a SQL and linking the result set programmatically.

That is exactly what I'm doing: Set flx.RecordSet = rs (or set
flx.DataSource = rs in the vsFlexGrid version). The query can limit
records to particular criteria, but sometimes it's useful to see all
the records in one lump. I also have column search in the resultant
grid.

MM
From: Karl E. Peterson on
MM laid this down on his screen :
> On Thu, 10 Jun 2010 11:39:12 -0700, Karl E. Peterson <karl(a)exmvps.org>
> wrote:
>
>> MM formulated on Thursday :
>>> I have the problem described in Microsoft Knowledge Base article
>>> Q253211. I have 400,000 rows (i.e. way more than 65,535) and when I
>>> scroll vertically, then release the scrollbar thumb, it snaps back up
>>> to near the top.
>>>
>>> I'm on VB6 SP6 already. Does anyone know of a fix?
>>
>> I don't think that one supports a "virtual" mode, does it? I use the
>> ComponentOne grid (VSFlexGrid) in virtual mode whenever I get more than
>> a few thousand cells going. It's *lightening* fast, and has no
>> practical limits, when used that way.
>>
>> Did you snag all those C1 controls when they were offered free?
>
> I think I may have them somewhere! I, too, am currently using
> VsFlexGrid 7 in trial mode. It also has GetMergedRange which is useful
> for determining the text of just the merged cells.
>
> As I begin to use MsFlexGrid and MshFlexGrid for large recordsets it
> increasingly becomes clear just how broken these controls are.
> MsFlexGrid has a limit of 350,000 cells. And MshFlexGrid has this new
> problem with 65,535 records after the previous problem with not
> displaying more than 2048 rows was fixed in SP3.
>
> In other words, neither MsFlexGrid nor MshFlexGrid is fit for this
> purpose (of displaying large recordsets, not that I'd call 100,000
> records large).

You need a virtual grid. I'm using "ComponentOne VSFlexGrid 8.0
(Light)" - the name it goes by in the Components dialog. When run in
this mode, it asks for each cell contents on an as-needed basis.
Lightening fast, by comparison.

Despite the numbers you quote for official limits, I've found that even
50000 cells is *crippling* on most.


From: David Kaye on
MM <kylix_is(a)yahoo.co.uk> wrote:

>Fair enough, but the fact is that the grid is buggy if it won't
>display more than 65,535 records.

Why does that make it buggy? It's a practical limitation. No human can
possibly process 64k of records, let along the amount you're trying to do.