2016-07-29 10 views
0

Ich habe eine DataGridView, die in Code gebunden ist, ich füge eine Spalte hinzu, dann muss ich Daten in diese Spalte basierend auf Spalte in der gleichen Zeile einfügen.Der Wert der datengebundenen DataGridView-Spalte konnte nicht gesetzt werden

Dim db2 As New MyDBDataContext 
Dim r = (From p In db2.EventConfigs) 
GridTemplate.DataSource = r 

ich hinzufügen, um eine Spalte zu dem Raster

Dim col As New DataGridViewTextBoxColumn 
    col.ValueType = GetType(System.String) 
    col.HeaderText = "SomeText" 
    col.Name = "colWhateverName" 
    GridTemplate.Columns.Add(col) 

Wenn ich es laufen, das Gitter korrekt angezeigt mit der zusätzlichen Spalte am Ende. Ich stoße hier auf ein Problem:

For Each row As DataGridViewRow In GridTemplate.Rows 
     row.Cells.Item(11).Value = "Does Not Work" 
     row.Cells.Item("colWhateverName").Value = "Also Does Not Work" 
    Next 

Warum zeigt das Raster die Spalte, aber der Wert der Spalte ist leer.

+0

Der Code reproduzieren nicht das Problem. Es funktioniert einwandfrei. Wahrscheinlich liegt das Problem an einer Einstellung oder einem anderen Teil des Codes, den wir nicht sehen können. –

Antwort

0

Sie sind in der Nähe. Nimm das Item heraus ("colWhateverName") und kürze es auf Cells ("colWhateverName").

Versuch:

For Each row As DataGridViewRow In dgvReports.Rows 
      row.Cells("colWhateverName").Value = "Also Does Not Work" 
     Next 
+0

Dies hat keine Erklärung. Lean [Antwort]. –