There are multiple ways in which one can get the data from the current row that is being edited in a Grid View. Using "Extract Values From Cell": This is an easy way to get all the values from the current row.
In my case this was happening because I was binding to a List of custom objects.
Data Bind() End Sub Its not your fault that the new values are empty.
Is Post Back) otherwise you'll wipe out the new values everytime before the updating event gets called.
I have a dynamically created gridview, it's autogeneratedcolumns is set to True, and it databinds on every postback. If i move the databind to load (which fires before the Row Updating) it ceases to work correctly, and the newvalues are null. Dim o Conn as new Sql Connection("") Dim o Cmd as new Sql Command("Update Sp", o Conn) o Cmd. Guys maybe it's just Friday evening and I've already had 1 Guinness to ease the tension, but you two just flew about 30,000 feet over my head. Crack open reflector and look at the Grid View's source code. The event arguments will ALWAYS be empty unless you are bound to a datasource control. created the following code in VB, and though it runs without error, it's not doing anything for me. This is such a monumental show stopper after all the work I have put into this web site, I can't believe there isn't a straight forward method of retrieving the new values. Edit Index) Dim dict Values As New Ordered Dictionary Dim o Ctl As Control For Each o Ctl In gv Row. Row State, False) End If Next Dim dict Entry As Dictionary Entry For Each dict Entry In dict Values Try Msg Box(dict Entry. To String) Catch ex As Exception End Try Next Public Shared Function Get Values(row As Grid View Row) As IDictionary (Of String, Object ) Dim values = New Ordered Dictionary() For Each control As Control In row. Unfortunately I am getting identical results...same I have always been getting which is just the old values. Try to write a small sample with one column and that one event and see if it works.
Now, when an user edit a row then click update, I'm having problem getting the new values in gridview's rowupdating event, it always returns the old values. With that being said you could go directly after the form post data perhaps, i usually find it's easiest to debug then search through and find your key value pair. I'll take a closer look at your posts maybe tomorrow, and definitely Monday, but I'm just a hack, and I so close to dumping this whole thing and lettting someone else do it...whooops there isn't anyone else... The new values are not being retrieved, just the old values. Excuse my crude Msg Box methos; it only goes to prove what a hack I am. Controls Dim dcfc Cell As Data Control Field Cell = o Ctl If dcfc Cell Is DBNull. Controls Dim cell As Data Control Field Cell = Try Cast(control, Data Control Field Cell) If cell Is Not Nothing And Also cell. By the way, when I attempted to cut and paste your code, the compiler would not accept the arguments (String, Object) at the end of IDictionary, saying that IDictionary has no parameters, and also in the return values portion below it complains that Dictionary is not a type. Dictionary is a generic type and you have to include System. I'm not sure whats going on in your case Yes I am getting the exact data that's in the edit row. It's a record that looks similar to the other data in the database, but it is defintiely different values so I am confident that I am looking at the edit row.
Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose.
Unfortunately, your sample works just as I would expect it to and since I don't know why mine does not work, I am unable to modify your sample to not work. Old Values but even after removing the Do Row Validation from the Start Row Editing event, I still do not get values in e. (see I told you I didn't follow it) Hello Stephen, The described behavior (e. I know its very annoying and hard to get the data out of the data controls (gridview in this case), but there are other things you can do to make it easier. The reason is we don't fill the values unless your are bound to a datasource control. Obviously the simplest method is to use Data Key Names on the Grid View and then you should have the data in your Grid View Update Event Args as part of e. (In the following example, I cast to a Check Box as I know I have a checkbox at the col Index You Are Interested In - you should cast to whatever control you have in that column). As the values are inserted into an Ordered Dictionary - you can use the field names to access the changed data 2.Regards, Stephen Hello Stephen, Thanks for the additional information. New Values, you should set the Value property by using the Data Binder Class:' Auto Post Back="True" On Selected Index Changed="Prod_Selected Index Changed" Value Type="System.