C#
[C#] ExpandoObject 사용하기
kjun.kr
2022. 9. 15. 08:13
728x90
쿼리 결과 컬럼이 유동적인 항목을 그리드에 바인딩 하기 위해 ExpandoObject 를 사용했습니다.
필드를 동적으로 추가하고 값을 설정하는 방법입니다.
dynamic expando = new ExpandoObject();
AddProperty(expando, "ID", 1);
AddProperty(expando,"Name","Kjun");
private void AddProperty(ExpandoObject expando, string propertyName, object propertyValue)
{
var expandoDic = expando as IDictionary<string,object>;
if(expandoDic.ContainsKey(propertyName))
{
expandoDic[propertyName] = propertyValue;
}
else
{
expandoDic.Add(propertyName, propertyValue);
}
}
expando 에는 ID, Name 필드가 추가되고 각 1, kjun 값으로 값이 셋팅됩니다.
위 정의한 expando 객체를 ObservableCollection<Object> 에 담아서 Grid 에 바인딩합니다. (DevExpress GridControl)
728x90