D
dang57
I had written a vb.net app for clients that wanted to use a datagrid
like a spreadsheet. Rather than edit one line at a time, they wanted
all lines available at all times. That seemed to work fine, except
now there is a response-time issue when there are many lines in the
grid. The viewstate is getting very large.
There are close to 50 input fields on each row, and some folks are
adding upwards of 50 rows or more. The real issue is that as values
are entered in a few specific columns, I need the app to jump back
over to the server, validate the input, and possibly pre-fill a few
other values in that row. As the grid gets larger, changing a value
and making a round trip to the server can take 15-20 seconds. And
validation must take place on the server, because I have to hit the
database. I would have preferred to bury the validation tables in the
screen, but they're way too large.
I'm using Anthem keep from having to refresh the entire screen all the
time, and that helps keep the screen from jumping around. But what I
really need is a way to send to the server only a few fields rather
than the entire viewstate. It has to be flexible, though. When I'm
validating those specific fields, I want only those fields sent to the
server. But if they click the Save button, all of it needs to go.
I've made some tests using Anthem.InvokePageMethod and
Anthem.InvokeControlMethod, but they still run slow. They seem to
call the routine I want, but that's after the entire viewstate is sent
in. I've tried EnableCallBack on Anthem fields, but it seems like
that's something that needs to be defined before the screen is
painted. Since I don't know if they're going to enter a value or
click Save, I don't know which fields to set up for EnableCallBack.
If I do that for the entire grid, they all get returned, and I haven't
gained anything.
I've considered setting up another class to receive a message, but
that would have to open another window, wouldn't it?
What I really want is a way to send a few fields to the server, which
in response, will set a few other fields within the grid. Seems to me
that there must be a way to do that, but after two days of searching,
I've yet to find it. I need a clue.
Thanks for any suggestions.
Dan
like a spreadsheet. Rather than edit one line at a time, they wanted
all lines available at all times. That seemed to work fine, except
now there is a response-time issue when there are many lines in the
grid. The viewstate is getting very large.
There are close to 50 input fields on each row, and some folks are
adding upwards of 50 rows or more. The real issue is that as values
are entered in a few specific columns, I need the app to jump back
over to the server, validate the input, and possibly pre-fill a few
other values in that row. As the grid gets larger, changing a value
and making a round trip to the server can take 15-20 seconds. And
validation must take place on the server, because I have to hit the
database. I would have preferred to bury the validation tables in the
screen, but they're way too large.
I'm using Anthem keep from having to refresh the entire screen all the
time, and that helps keep the screen from jumping around. But what I
really need is a way to send to the server only a few fields rather
than the entire viewstate. It has to be flexible, though. When I'm
validating those specific fields, I want only those fields sent to the
server. But if they click the Save button, all of it needs to go.
I've made some tests using Anthem.InvokePageMethod and
Anthem.InvokeControlMethod, but they still run slow. They seem to
call the routine I want, but that's after the entire viewstate is sent
in. I've tried EnableCallBack on Anthem fields, but it seems like
that's something that needs to be defined before the screen is
painted. Since I don't know if they're going to enter a value or
click Save, I don't know which fields to set up for EnableCallBack.
If I do that for the entire grid, they all get returned, and I haven't
gained anything.
I've considered setting up another class to receive a message, but
that would have to open another window, wouldn't it?
What I really want is a way to send a few fields to the server, which
in response, will set a few other fields within the grid. Seems to me
that there must be a way to do that, but after two days of searching,
I've yet to find it. I need a clue.
Thanks for any suggestions.
Dan