3

DataGridView의 기존 열을 드롭 다운하려고합니다. Excel 소스에서 그리드를 채우고 특정 컬럼으로 드롭 다운해야합니다. 이 코드에 의해vb.net의 DataGridview에서 Combobox가있는 기존 열

`

`


Dim comboBoxColumn As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn() 
DataGridView1.DataSource = dataSetOld.Tables("Old") 
comboBoxColumn.HeaderText = "Comments" 
comboBoxColumn.Items.Add("Resolution Breach") 
comboBoxColumn.Items.Add("Response Breach") 
DataGridView1.Columns("Comments").DataGridView.Columns.Add(comboBoxColumn) 

나는 그리드에 다른 열을 추가했습니다. 그러나 나는 기존 칼럼에 드롭 다운을 원한다.

답변

0

먼저 u는 오래된 열을 제거해야하고 그 후 u는 당신의 열의 각 셀에 대해 새 열

0
Dim gridComboBox As New DataGridViewComboBoxCell 
    gridComboBox.Items.Add("Resolution Breach")  'Populate the Combobox 
    gridComboBox.Items.Add("Response Breach")   'Populate the Combobox 
DataGridView1.Item(combobox_column, combobox_row) = gridComboBox 

에 엑셀에서 데이터를 입력해야합니다, 당신은 당신의 콤보 상자 연결해야합니다, 그이 전에 채워집니다 그것을 세포에 연결시킨다. 열의 이름은 머리글 텍스트가 아닌 "주석"이어야합니다. 원본 (데이터베이스)에서 열 이름을 가져옵니다. .. 귀하의 경우 :

Dim comboBoxColumn As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn() 
Dim combobox_row as Integer 

    DataGridView1.DataSource = dataSetOld.Tables("Old") 
    comboBoxColumn.HeaderText = "Comments" 
    comboBoxColumn.Items.Add("Resolution Breach") 
    comboBoxColumn.Items.Add("Response Breach") 
    for combobox_row = 0 to DataGridView1.RowCount - 1 
     DataGridView1.Item("Comments", combobox_row) = comboBoxColumn 
    next combobox_row 
+1

일부 설명은 스택 오버플로에 대해 높이 평가됩니다. – mkl

+0

그냥 –

+0

이 마음에 들지 DataGridview1.item (DataGridView1.Item (combobox_column, combobox_row) = gridComboBox)와 gridComboBox 연결 :. ("설명") DataGridView1.Columns을 DataGridView.Columns.Add이 (comboBoxColumn) –