2017-10-19 30 views
-1

Je souhaite définir une valeur à partir de la collection d'éléments de la zone de liste déroulante dans une vue de données sans utiliser de source de données.Comment définir un élément dans la liste déroulante manuellement dans datagridview?

dtgLineMaster.Rows.Add() 
    dtgLineMaster.Rows(rowcount).Cells(0).Value = reader3.GetString(2) 

Il est une erreur de dialogue affiche: System.ArgumentExcpection: valeur DataGridViewComboBoxCell est pas valide. Pour remplacer cette boîte de dialogue par défaut, veuillez gérer l'événement DataError.

+0

Vos éléments de liste et votre lecteur3.GetString (2) ne correspondent probablement pas. Quelles sont les valeurs déroulantes et quelle est la valeur de reader3.GetString (2)? – LarsTech

+0

Si l'élément que vous ajoutez à la valeur des cellules n'est PAS déjà dans la liste des éléments de liste déroulante ... alors vous obtiendrez cette 'DataError.' Comme le message d'erreur le suggère ... Je recommande de câbler' DataError 'DataGridView' 'événement pour capturer cette erreur et il peut révéler plus d'informations que vous obtenez actuellement. Vous ne dites pas COMMENT définissez-vous la liste des éléments initiaux de la liste déroulante? – JohnG

+0

Bonjour @LarsTech, Oui, l'élément de liste et le lecteur3.GetString() ne correspondaient pas. Les valeurs avaient des espaces de fin dans la base de données, donc cela ne correspondait pas. Merci. –

Répondre

0

Créer DataGridViewComboBoxColumn et se lient dans DataGridView.

Dim dgvComboBox As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn() 
    dgvComboBox.HeaderText = "Select Data" 
    dgvComboBox.Name = "dgvComboBox" 
    dgvComboBox.Items.AddRange(New Object() {"Value 1", "Value 2", "Value 3"}) 
    dtgLineMaster.Columns.Add(dgvComboBox)