Retrieving dropdownlist gridview rowupdating event
Protected Sub Page_Load(By Val sender As Object, By Val e As System. Load Dim i Col As Integer, c As Integer = 0, i Chx As Integer 'If In Str(Http Context. Selected = True Else End If Fill Grid View() End Sub Private Sub Fill Grid View() Dim i Col As Integer, c As Integer = 0, i Chx As Integer, i As Integer Dim str SQL As New System. String Builder Dim str Params As String = "" 'THE FOLLOWING CODE THAT INDICATES SPECIFIC COLUMN NUMBERS IS DETERMINED 'BY THE HTML ASPX CODE THAT DETERMINES HOW THE GRIDVIEW LOOKS For i Chx = 0 To Me. 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. Am I being clear, or am I being presumtuous in my undertsnading of the use of datasources? *I believe your asking us if you're precluded from binding a dropdownlist (for example) to a datasource from within a templatefield in your gridview, and if thats what your asking... And all I'm saying is that you YES can use another datasource. Count - 1 i Col = i Chx If i Chx = 1 Then i Col = i Chx 1 Track Projects. Selected Then c = 1 If c = 1 Then str Params = "(Project Status = '" & Check Box List1. Text & "')" Else str Params &= " OR (Project Status = '" & Check Box List1. There must be something fundamentally wrong that some of us are doing that is causing this and the fact that it's not happening to others, and they don't know the solution. this only works when the databind happends after the updating. My suggestion to you would be to either subclass gridview, and expose the Extract Row Values though a public method or stick everything you need in Data Keynames. Extract Values From Cell(dict Values, dcfc Cell, gv Row. Row State, True) End If Next control Dim return Values = New Dictionary (Of String, Object )() For Each de As Dictionary Entry In values return Values(CStr(de. Value Next de Return return Values End Function I appreciate your quick and prompt reply, which I looked at from home last night, but was not able to test it until just now, and really the only different was adding the Try Cast. You're trying to extract the values from the edit row right? It'd be great if you could provide some sample code here. I am using the Row Updating event to programmatically update my database, but the new values are already gone by the time the Row Updating event is fired. I have found several forum postings detailing this but no one has posted their solution. Another way to get values out of the gridview is to put the interesting fields in Data Key Names, which can be a very ugly solution because the viewstate grows as a result of this.
Edit Index Then i Row = 1 If i Row = Track Projects. Count Then Exit For lbl Text = Direct Cast(gv Track Projects.
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.
Eureka, and phoooey....yeah, that was the problem, but now I have to solve another problem.
I have a whole host of filters that do not work now since they rely on the auto postback feature in check boxes and drop down lists that I have. To String(), "ecylkows") = 1 Then i Col = i Chx 1 Track Projects. 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.