코드에 열이 구성되는 방법이 표시되어 있지 않으므로 코드에 DataGridViewComboBoxColum
이 사용되지 않았지만 문제가 무엇인지 알기가 어렵습니다. DataGridViewComboBoxColumn
은 0 열의 모든 행을 "남성", "여성"선택 항목이있는 콤보 상자로 만드는 데 필요한 모든 것입니다.
잘못된 형식의 foreach
루프가 잘못되어 컴파일되지 않습니다. 나는 for
루프를 찾고 있다고 가정합니다. 이 다음에 for
루프 ... 새 행이 올바르게 눈금에 추가됩니다. 그런 다음 새 DataGridViewComboBoxCell
이 만들어지고 현재 행의 셀 [0]이 추가됩니다. dataGridView1.Rows[counter].Cells[0] = cbCell;
. 이 셀 [0]은 모든 새로운 행에 추가됩니다.
DataGridViewViewComboBoxColumn
이 올바르게 설정된 경우에는 필요하지 않습니다. DataGridViewComboBoxCell
을 추가하면 완벽하게 유효하며 기본적으로 콤보 상자를 "단일"셀에 넣을 수 있습니다. 그러나이 방법을 사용하면 콤보 상자 자체의 사용이 의심 스럽습니다.
루프가 dataGridView1
에 데이터를 "추가"합니다. 데이터를 읽으면서 "성별"(남성, 여성)에 대한 부분이 누락 된 것으로 나타나 다른 값과 마찬가지로 값이 설정되지 않습니다. 예 : 같은 아래 라인이되지 않습니다 :
dataGridView1.Rows[counter].Cells[0].Value = gender[counter];
이 정보를 개최 "성별"배열, 다음 코드는 콤보 위의 코드의 라인에이 값 (남성, 여성)을 설정하는 경우가 있었다면 상자 열이 자동으로 콤보 상자 선택을 해당 값으로 설정합니다. 데이터는 두 값 중 "1"(1)입니다.
그래서 아래의 코드는 콤보 상자 셀에 데이터를 읽을 때주의의 DataGridViewComboBoxColumn
단어를 사용하는 방법을 보여줍니다 당신이 찾고있는 것을 가정 할; 콤보 상자 열의 문자열 데이터가 콤보 상자 항목 목록의 항목 중 하나와 일치하지 않으면 잡히지 않고 해결되지 않으면 코드가 충돌합니다. 값이 빈 문자열이면 콤보 상자는 선택한 값을 비어있게 설정합니다.
// Sample data
string[] firstname = { "John", "Bob", "Cindy", "Mary", "Clyde" };
string[] lastname = { "Melon", "Carter", "Lawrence", "Garp", "Johnson" };
string[] gender = { "Male", "", "Female", "", "Male" };
// Create the combo box column for the datagridview
DataGridViewComboBoxColumn comboCol = new DataGridViewComboBoxColumn();
comboCol.Name = "Gender";
comboCol.HeaderText = "Gender";
comboCol.Items.Add("Male");
comboCol.Items.Add("Female");
// add the combo box column and other columns to the datagridview
dataGridView1.Columns.Add(comboCol);
dataGridView1.Columns.Add("FirstName", "First Name");
dataGridView1.Columns.Add("LastName", "Last Name");
// read in the sample data
for (int counter = 0; counter < 5; counter++)
{
dataGridView1.Rows.Add(gender[counter], firstname[counter], lastname[counter]);
}
희망이 있습니다.
감사합니다. JohnG –