C#

DataGridViewComboBoxColumn Change 이벤트 Value 값 가져오기

by kay posted Sep 02, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

DataGridView 에 Combobox 를 넣고 선택이 바뀔때 마다 값을 가져옵니다.



// comboBoxItem Class 
public class comboboxItem
{
	public string Text { get; set; }
	public object Value { get; set; }

	public override string ToString()
	{
		return Text;
	}
	public comboboxItem(string text, object value)
	{
		Text = text;
		Value = value;
	}
}

//TextBox 추가
DataGridViewComboBoxColumn cityCombo = new DataGridViewComboBoxColumn();
cityCombo.HeaderText = "도시";
cityCombo.Name = "city";
cityCombo.Items.Add(new comboboxItem("서울", "SEL"));
cityCombo.Items.Add(new comboboxItem("부산", "BUS"));
grdCity.Columns.Add(cityCombo);
//Event Handler 추가
grdCity.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dataGridView1_EditingControlShowing); 


private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
	ComboBox combo = e.Control as 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 cmb = (ComboBox)sender; 
	// 0번 배열에는 Text , 1번 배열에는 Value
	string ob = ((DataRowView)cmb.SelectedItem).Row.ItemArray[1].ToString();  
	MessageBox.Show(ob);  
}



참고 Url : http://stackoverflow.com/questions/4351603/get-selected-value-from-combo-box-in-c-sharp-wpf