From: David Kaye on 10 Jun 2010 15:50 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 11 Jun 2010 03:24 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 11 Jun 2010 03:30 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 11 Jun 2010 13:25 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 14 Jun 2010 03:01
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. |