By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,152 Members | 2,159 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,152 IT Pros & Developers. It's quick & easy.

Lazy Loading Grid Object

P: n/a
I need to build a web page that has to potentially display a large amount of
data in two grids on the same page. The HTML file with all of the formatting
is about 7MB in size. This is too large and I need to implement some kind of
"client side" lazy loading.

What I mean is this: I want to display a grid that only shows, say, 20
records. I need an external scrollbar control that I can then show on the
screen next to the grid. When the user moves the scroll bar, I want to load
only that window of data into the grid.

Preferably, I would like to do this client-side without a postback event,
because I have more than one grid of data on a single web page. Both of
which will need this capability.

Anyone have any suggestions, third party software, or otherwise that I can
look at?

P.S. I would prefer an external scroll bar rather than one that comes with
each grid because I want one scroll bar to control two grids simultaneously.
I.e. The horizontal scrollbar control scrolls both grids' right and left
movement. Vertical scrollbars are associated with each grid independently.
Nov 18 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
not quite sure what you are on about but -

in our websites (classic and .net)
we call out from the client using the xmlhttp object which can either
- call a page which returns xml
- call a sqlxml template which returns xml

you can then easily bind the grid to the xml

this is not a .net postback
this doesn't require the page to reload and can happen in the background
you can also do it from classic asp

what you are on about sounds more like paging rather than scrolling

datagrid supports paging and i'm sure you could easily link 2 grids to fire
on each others page change event

i just don't think the 'load a bit at a time on scrolling with a scroll bar'
is going to work

when you've got the xml down on the client (can assume msxml3 if using IE6)
you can always use an XSL to transform the result to an html doc. This is
another approach we have used in the past

"blackhawk" wrote:
I need to build a web page that has to potentially display a large amount of
data in two grids on the same page. The HTML file with all of the formatting
is about 7MB in size. This is too large and I need to implement some kind of
"client side" lazy loading.

What I mean is this: I want to display a grid that only shows, say, 20
records. I need an external scrollbar control that I can then show on the
screen next to the grid. When the user moves the scroll bar, I want to load
only that window of data into the grid.

Preferably, I would like to do this client-side without a postback event,
because I have more than one grid of data on a single web page. Both of
which will need this capability.

Anyone have any suggestions, third party software, or otherwise that I can
look at?

P.S. I would prefer an external scroll bar rather than one that comes with
each grid because I want one scroll bar to control two grids simultaneously.
I.e. The horizontal scrollbar control scrolls both grids' right and left
movement. Vertical scrollbars are associated with each grid independently.

Nov 18 '05 #2

P: n/a
Adolf,

I am not looking for paging. I guess you could say that what I am looking
for is very similar to how Query Analyzer works when you open a table for
viewing that is very large.

You open the table, it loads the first X records and then as you scroll
down, it loads those records. It does not try to load the entire table at
once.

This is effectively what I am trying to accomplish, but on the web instead
of in a windows app.

Do you have any samples or can you point me to some blogs that discuss this
in more detail?

"adolf garlic" wrote:
not quite sure what you are on about but -

in our websites (classic and .net)
we call out from the client using the xmlhttp object which can either
- call a page which returns xml
- call a sqlxml template which returns xml

you can then easily bind the grid to the xml

this is not a .net postback
this doesn't require the page to reload and can happen in the background
you can also do it from classic asp

what you are on about sounds more like paging rather than scrolling

datagrid supports paging and i'm sure you could easily link 2 grids to fire
on each others page change event

i just don't think the 'load a bit at a time on scrolling with a scroll bar'
is going to work

when you've got the xml down on the client (can assume msxml3 if using IE6)
you can always use an XSL to transform the result to an html doc. This is
another approach we have used in the past

"blackhawk" wrote:
I need to build a web page that has to potentially display a large amount of
data in two grids on the same page. The HTML file with all of the formatting
is about 7MB in size. This is too large and I need to implement some kind of
"client side" lazy loading.

What I mean is this: I want to display a grid that only shows, say, 20
records. I need an external scrollbar control that I can then show on the
screen next to the grid. When the user moves the scroll bar, I want to load
only that window of data into the grid.

Preferably, I would like to do this client-side without a postback event,
because I have more than one grid of data on a single web page. Both of
which will need this capability.

Anyone have any suggestions, third party software, or otherwise that I can
look at?

P.S. I would prefer an external scroll bar rather than one that comes with
each grid because I want one scroll bar to control two grids simultaneously.
I.e. The horizontal scrollbar control scrolls both grids' right and left
movement. Vertical scrollbars are associated with each grid independently.

Nov 18 '05 #3

P: n/a
you are not going to be able to do it how you want and the reason is simple

- query analyzer is a client server app

the web is stateless
as such you are going to have to load the whole lot or load it in sections
that's why i said about paging

you could have some kind of false scroll bar to fire an event which would
get an xmlhttp object to call to either a webpage or a sqlxml template to
return the section of data that you want
you could then cache those values in a local xml doc linked to the grid
by checking if you have it in the local xml doc, it will appear faster to
the user

the reason you won't be able to process some of the xml doc as it loads is
that it would not be well formed if you had a partial doc and so xmlhttp
object would have a fit

"blackhawk" wrote:
Adolf,

I am not looking for paging. I guess you could say that what I am looking
for is very similar to how Query Analyzer works when you open a table for
viewing that is very large.

You open the table, it loads the first X records and then as you scroll
down, it loads those records. It does not try to load the entire table at
once.

This is effectively what I am trying to accomplish, but on the web instead
of in a windows app.

Do you have any samples or can you point me to some blogs that discuss this
in more detail?

"adolf garlic" wrote:
not quite sure what you are on about but -

in our websites (classic and .net)
we call out from the client using the xmlhttp object which can either
- call a page which returns xml
- call a sqlxml template which returns xml

you can then easily bind the grid to the xml

this is not a .net postback
this doesn't require the page to reload and can happen in the background
you can also do it from classic asp

what you are on about sounds more like paging rather than scrolling

datagrid supports paging and i'm sure you could easily link 2 grids to fire
on each others page change event

i just don't think the 'load a bit at a time on scrolling with a scroll bar'
is going to work

when you've got the xml down on the client (can assume msxml3 if using IE6)
you can always use an XSL to transform the result to an html doc. This is
another approach we have used in the past

"blackhawk" wrote:
I need to build a web page that has to potentially display a large amount of
data in two grids on the same page. The HTML file with all of the formatting
is about 7MB in size. This is too large and I need to implement some kind of
"client side" lazy loading.

What I mean is this: I want to display a grid that only shows, say, 20
records. I need an external scrollbar control that I can then show on the
screen next to the grid. When the user moves the scroll bar, I want to load
only that window of data into the grid.

Preferably, I would like to do this client-side without a postback event,
because I have more than one grid of data on a single web page. Both of
which will need this capability.

Anyone have any suggestions, third party software, or otherwise that I can
look at?

P.S. I would prefer an external scroll bar rather than one that comes with
each grid because I want one scroll bar to control two grids simultaneously.
I.e. The horizontal scrollbar control scrolls both grids' right and left
movement. Vertical scrollbars are associated with each grid independently.

Nov 18 '05 #4

P: n/a
Adolf,

Yeah, I realize that I will be doing a "paging" type functionality, but make
it look like lazy loading to the user. I originally thought of just loading
the data page by page into a grid, but I kind of like the idea of sending it
to an xml file and then running the grid from the local xml.

Really, what it sounds like I need is a scrollbar object that I can get the
row count and use to set the size, then when the user clicks on the scroll
bar (or drags it down) I get the top position of the scroll bar then query
the server (perhaps a session state variable) for that starting record for n
records in length.

Problem is, I don't know of any scrollbar objects for the web.

Hey, I appreciate the thoughts, and sometimes having a sounding board helps
me. If you know of anyone doing this, please let me know....but it sounds
like I am blazing the trails once again! ;-(

"adolf garlic" wrote:
you are not going to be able to do it how you want and the reason is simple

- query analyzer is a client server app

the web is stateless
as such you are going to have to load the whole lot or load it in sections
that's why i said about paging

you could have some kind of false scroll bar to fire an event which would
get an xmlhttp object to call to either a webpage or a sqlxml template to
return the section of data that you want
you could then cache those values in a local xml doc linked to the grid
by checking if you have it in the local xml doc, it will appear faster to
the user

the reason you won't be able to process some of the xml doc as it loads is
that it would not be well formed if you had a partial doc and so xmlhttp
object would have a fit

"blackhawk" wrote:
Adolf,

I am not looking for paging. I guess you could say that what I am looking
for is very similar to how Query Analyzer works when you open a table for
viewing that is very large.

You open the table, it loads the first X records and then as you scroll
down, it loads those records. It does not try to load the entire table at
once.

This is effectively what I am trying to accomplish, but on the web instead
of in a windows app.

Do you have any samples or can you point me to some blogs that discuss this
in more detail?

"adolf garlic" wrote:
not quite sure what you are on about but -

in our websites (classic and .net)
we call out from the client using the xmlhttp object which can either
- call a page which returns xml
- call a sqlxml template which returns xml

you can then easily bind the grid to the xml

this is not a .net postback
this doesn't require the page to reload and can happen in the background
you can also do it from classic asp

what you are on about sounds more like paging rather than scrolling

datagrid supports paging and i'm sure you could easily link 2 grids to fire
on each others page change event

i just don't think the 'load a bit at a time on scrolling with a scroll bar'
is going to work

when you've got the xml down on the client (can assume msxml3 if using IE6)
you can always use an XSL to transform the result to an html doc. This is
another approach we have used in the past

"blackhawk" wrote:

> I need to build a web page that has to potentially display a large amount of
> data in two grids on the same page. The HTML file with all of the formatting
> is about 7MB in size. This is too large and I need to implement some kind of
> "client side" lazy loading.
>
> What I mean is this: I want to display a grid that only shows, say, 20
> records. I need an external scrollbar control that I can then show on the
> screen next to the grid. When the user moves the scroll bar, I want to load
> only that window of data into the grid.
>
> Preferably, I would like to do this client-side without a postback event,
> because I have more than one grid of data on a single web page. Both of
> which will need this capability.
>
> Anyone have any suggestions, third party software, or otherwise that I can
> look at?
>
> P.S. I would prefer an external scroll bar rather than one that comes with
> each grid because I want one scroll bar to control two grids simultaneously.
> I.e. The horizontal scrollbar control scrolls both grids' right and left
> movement. Vertical scrollbars are associated with each grid independently.
>
>

Nov 18 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.