프로그래밍

[C#] DevExpress 그리드 row 값에 따라 editor 변경

나노세컨드 2022. 4. 15. 10:15

보통 컬럼별로 editor를 고정해서 사용하지만, 경우에 따라서 row 값에 따라 다른 editor를 선택해야 하는 경우가 있다. 

 

CustomRowCellEditForEditing 이벤트를 사용하면 간단히 해결할 수 있는데, 이걸 몰라 여러 이벤트를 사용하게 되었다. 

 

RowCellClick이나 RowClick의 경우 editable이 true로 되어있으면 Click 했을 때 제대로 이벤트를 잡지 못하는 경우도 있어 사용하기 적절하지 않았다. 

 

Repository 이벤트를 사용하려 하였으나, row cell 값에 따라 적용하기에 어려움이 있었다. 

 

private void grvBrkdwn_CustomRowCellEditForEditing(object sender, CustomRowCellEditEventArgs e)
{
	GridView grv = sender as GridView;
	if(e.RowHandle > -1)
	{
		if(e.Column.FieldName == "manageTypCd")
		{
			ColumnView view = (ColumnView)sender;
			retrieveDt = new DataTable();

			retrieveDt = SetManageDtlTypCd();

			// ImageComboBoxEdit 적용
			rptManageDtlTypCd.SetDataSource(retrieveDt, "cdValNm", "cdVal", AComboFirstValueType.None);
			e.RepositoryItem = rptManageDtlTypCd;
		}
	}
}
반응형