Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
74
rated 0 times [  79] [ 5]  / answers: 1 / hits: 28205  / 15 Years ago, tue, november 24, 2009, 12:00:00

It is possible to use the getRowData method to retrieve the current of a cell but this retrieves the current cell content rather than the original data before it went through the formatter.



How do I retrieve the original content before the formatting transformations are applied? FYI I am populating the table using JSON.


More From » jquery

 Answers
96

I had to dig through the documentation a bit to come up with the solution, to see it in its original context go here: jqGrid Data Manipulation, specifially the section near the end titled User Data.



First, modify your jsonReader implementation as follows:



 jsonReader: {
root: 'Data',
page: 'Page',
total: 'Total',
records: 'Records',
userdata : 'Data',
repeatitems: false,
id: 'Id'
}


Note the userdata option set to the same as root 'Data'



In my case I needed to retrieve the original row data when the user selected a row. I implemented this as follows:



 onSelectRow: function(rowid) {
processRow(rowid);
}


To retrieve the data within the process row method I have the following:



var rowData = $(#resultGrid).getGridParam('userData')[rowId - 1];


Where #resultGrid is a reference to my jqGrid.



This will then return the original data bound to that row before any formatting was applied.



A couple of points to note:




  1. In my case the grid is paged so the result set is never greater than 10 items therefore the 'userdata' wont grow too large

  2. Sorting is performed server side so that index rowId will always return the correct value from 'userData'

  3. While 'userdata' as referenced as an option on jsonReader is all lower case, to retrieve it using getGridParam you need to reference it as 'userData'


[#98242] Thursday, November 19, 2009, 15 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
rossj

Total Points: 606
Total Questions: 100
Total Answers: 116

Location: Dominican Republic
Member since Sun, Sep 4, 2022
2 Years ago
;