skip to content »

Handle rowupdating event

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. I believe that databinding on every postback is the cause but that's not something that I can change right now, same goes with the autogeneratedcolumns setting. I'm not sure if I know what you mean about 2 way binding. If you meanam I using Bind instead of Eval in my HTML, then yes. And the result of your code is no different than my version or what I was doing before, which was just using the findcontrol method, and that just returns what was in the grid when it was first binded to the database on page load. Yes ok i think i know what you are probably doing wrong.

handle rowupdating event-83handle rowupdating event-42handle rowupdating event-2handle rowupdating event-81

If so, how do you know the control id if it's dynamically created? I am having the same problem, and it's not a boundfield or template field problem either as I am using both. This magical function extracts values from the datacontrol fields and puts them in an IOrdered Dictionay. Selected Value Case 8 str Params = "(" & str Params & ") AND ((" & _ "(Right(Completion Date,4) '2005'))" & _ "OR (Completion Date is NULL))" Case 7 str Params = "(" & str Params & ") AND (Right(Completion Date,4) = '2007')" Case 6 str Params = "(" & str Params & ") AND (Right(Completion Date,4) = '2006')" Case 5 str Params = "(" & str Params & ") AND (Right(Completion Date,4) = '2005')" End Select str SQL. Visible = True Catch ex As Exception Track Projects. Close() End Using Hi Lite Rows() End Sub Private Sub Hi Lite Rows() 'THE FOLLOWING CODE THAT INDICATES SPECIFIC COLUMN NUMBERS IS DETERMINED 'BY THE HTML ASPX CODE THAT DETERMINES HOW THE GRIDVIEW LOOKS Dim i Col Date As Integer = 7, i Row As Integer, i Col Proj Stat As Integer = 9 ' Msg Box(Track Projects. Then there are a couple more steps to make it to where you adding the selected value in the update) Yes, you are correct, I am not using any datasources for the gridview, but in the Itemtemplate and the Edit Item Template the Text parameter is set equal to a bind statement as follows (see the example further down where i ref a datasource for the ddl): Or in the case of the drop down list I am binding with the Selected Value parameter, but of course you can see I lied and am pointing to a different datasource completely for my list. Did I mention I am getting bored of grids, data and databases and am going to spend the holiday break convincing myself I can learn to be a game programmer... (i.e., employee ID: you can convert an emp ID field in your gridview to a templatefield then delete the label in the edit Item Template then insert a dropdownlist then bind the dropdownlist to a datasource that binds you're to your employee table in your database. Text & "')" End If End If 'WHY NOT USE Drop Down List4.

Append("SELECT Project ID, Pcb Pn, Pcb Pn Rev, Change Number, Design Names, ECADdesigner Names, Pwb Engineer Names, Pwb Request Date, ECADstart Date, Due Date, Project Status, Job Charge Number, Percent Complete, Completion Date, Actual Start Date, Schematic Number, Schem Num Revision, Schem Ready Date, Layer Count, PCBtechnology, Stack Up, Thickness, Lead Free, Requester Comments, Product Manager") str SQL. Append(" WHERE" & str Params & " ORDER BY Due Date ASC") 'This is a subtitute for Private Sub Populate Publishers Grid View() from example code 'found at View Sorting Dim str My Conn As String = Configuration Manager.

Get String("Grid View_Unhandled Even t", new object[] { this.

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.

Grid View has a method that is unfortunately protected called Extract Row Values.

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.

To String) ' & vb Cr Lf & vb Cr Lf 'Val(CDate(Track Projects.