본문 바로가기
C#/DevExpress

DevExpress / Winform GridView 컬럼에 콤보 박스 추가하기.

by HyunS_ 2019. 5. 8.

Gridview의 특정 컬럼에 콤보 박스를 추가 할 수 있습니다.

 

전역변수 작성란에 아래의 코드를 작성 후

private RepositoryItemComboBox genderComboBox;

 

폼 생성자 작성란에 아래의 코드를 추가해줍니다.

this.genderComboBox = new RepositoryItemComboBox();

this.gridView.Columns[5].ColumnEdit = this.genderComboBox;

InitializeComboBoxEdit();

 

InitializeComboBoxEdit 메서드 입니다.

#region InitializeComboBoxEdit()

/// <summary>
/// 콤보 박스 에디트를 설정합니다.
/// </summary>
private void InitializeComboBoxEdit()
{
	DevExpressHelper.ClearComboBoxEditData(this.genderComboBox);

	DevExpressHelper.SetComboBoxEditData(this.genderComboBox, "", "M", "F");

	this.gridView.SetRowCellValue(this.gridView.FocusedRowHandle, "Gender", genderComboBox.Items[0]);

	this.genderComboBox.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;

}

#endregion

 

DevExpressHelper.cs 입니다.

/// <summary>
/// 데브익스프레스 헬퍼 클래스 입니다.
/// </summary>
public class DevExpressHelper
{
	#region ClearComboBoxEditData(sourceControl)

	/// <summary>
	/// 콤보 박스 에디트의 데이터를 제거합니다.
	/// </summary>
	/// <param name="sourceControl">소스 컨트롤 입니다.</param>
	public static void ClearComboBoxEditData(RepositoryItemComboBox sourceControl)
	{
		sourceControl.Items.Clear();
	}

	#endregion

	#region SetComboBoxEditData(sourceControl, itemValueArray)

	/// <summary>
	/// 콤보 박스 에디트의 데이터를 설정합니다.
	/// </summary>
	/// <param name="sourceControl">소스 컨트롤 입니다.</param>
	/// <param name="itemValueArray">아이템 값의 배열 입니다.</param>
	public static void SetComboBoxEditData(RepositoryItemComboBox sourceControl, params string[] itemValueArray)
	{
		foreach (string itemValue in itemValueArray)
		{
			sourceControl.Items.Add(itemValue);
		}
	}

	#endregion
}
728x90

댓글