TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Victor
NA
7
0
How to get DataKeys for all rows of GridView with paging
Jan 25 2010 2:51 PM
I inherited from GridView to make a custom control that allows the user to make changes to the data on every page without committing those changes to the DB immediately. Only when the user clicks a "Save" button are the changes committed to the DB.
Since fields are re-loaded every time user changes page, changes would not survive the user changing pages. I created a custom object to store user's changes. This object holds the key names/values of the row the changes belong to, and the name/values of the controls that have been changed. I use OnRowDataBound event to show the user changes where they apply. I serialize and save the object with the user changes to and from the viewstate for the object.
My problem now is, how do I tell GridView to update a specific row, i.e. commit the changes to the DB, when all I have are the DataKey pairs for the row. I can find the row number by looking at the GridView's current DataKeys, but that only works for visible rows! If the user has changes on another page, they will not be saved because I can't find the row number using the DataKeys, and UpdateRow requires the row number.
I can't save the row number in my "changes" object and use that because if the data set changes cause the user filters the results in the GridView, then the row number in my "changes" object no longer matches up with the correct row in the GridView.
Please, if you could help I would appreciate it.
Reply
Answers (
2
)
Sending SMS
Gridview Help