I have datagridview populated with several columns,out of which some columns I want to change from textbox cell to comboboxcell at runtime. I have written a piece of code which works perfectly fine but it takes time to load grid.Below is the code:
For Each row As DataGridViewRow In dgvUserDetails.Rows If row.Index < dgvUserDetails.Rows.Count - 1 Then Dim cmbprof As New DataGridViewComboBoxCell() dgvUserDetails.Rows(row.Index).Cells(8) = cmbprof sql = "Select Description from Category where Catgry = 5" If rs.State = 1 Then rs.Close() rs.Open(sql, MainCon, 1, 3) Do While Not rs.EOF cmbprof.Items.Add(rs.Fields(0).Value) rs.MoveNext() Loop sql = "Select Prof from datafile where Part_No = " & dgvUserDetails.Item("Baaga", row.Index).Value & " and SLNOINPART= " & dgvUserDetails.Item("emaaMk", row.Index).Value & "" If rs.State = 1 Then rs.Close() rs.Open(sql, MainCon, 1, 3) If Not rs.EOF Then If Not IsDBNull(rs.Fields(0).Value) Then gProf = rs.Fields(0).Value cmbprof.DisplayMember = "Prof" cmbprof.Value = gProf End If End If End If Next
Now this code fills cmbprof for each row even though it has same values.If I declare cmbprof out of For loop,it gives me error "Cell provided already belongs to grid."Can any1 please help me to rectify this..My grid takes long time to load due to this.