c# winform에서 gridview의 셀 안에 콤보박스를 넣는 예제입니다!
아래의 과목이라는 컬럼에 콤보박스를 넣어 선택 했을때 메세지 박스를 띄우는 이벤트도 추가했습니다.
콤보박스안의 item들을 선택할때 발생하는 이벤트핸들러를 추가하여 콤보박스 변경 이벤트가 발생했을 때의 로직도 구현 할 수 있습니다.
public Form1()
{
InitializeComponent();
MakeComboGrid();
}
private void MakeComboGrid()
{
DataGridViewComboBoxCell cbocell = new DataGridViewComboBoxCell();
cbocell.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
int rowindex = dataGridView1.Rows.Add();
cbocell.Items.Add("국어");
cbocell.Items.Add("수학");
cbocell.Items.Add("과학");
dataGridView1.Rows[rowindex].Cells[0] = cbocell;
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
System.Windows.Forms.ComboBox combo = e.Control as System.Windows.Forms.ComboBox;
if (combo != null)
{
combo.SelectedIndexChanged -= new EventHandler(ComboBox_SelectedIndexChanged);
combo.SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
}
}
private void ComboBox_SelectedIndexChanged(object sender , EventArgs e)
{
ComboBox cb =sender as ComboBox;
MessageBox.Show(cb.Text);
'c#' 카테고리의 다른 글
WPF 디자인 패턴 mvvm패턴 viewmodel? view? (0) | 2023.01.14 |
---|---|
C# 데이터베이스 연결 하는 법 SqlDataReader SqlDataAdapter 차이점 (0) | 2022.12.29 |
c#기초 Extension 확장 메서드 Extension Method (0) | 2022.12.22 |
c# DataTable 복사하기 복제하기 copy() 메서드와 clone() 메서드 (0) | 2022.12.13 |
c# visualstudio 메타데이터 파일을 찾을 수 없습니다 오류 해결 (0) | 2022.12.07 |