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
'C#' 카테고리의 다른 글
[C#] Chrome 브라우저 Google 사이트 에서 특정 단어 조회페이지 열기 (0) | 2022.09.28 |
---|---|
[C#] Edge 에서 특정 Tab 닫기 (0) | 2022.09.23 |
[C#] Edge Open 하기 (항상 새로운 창으로 띄우기) (0) | 2022.09.23 |
[C#] Active Directory Authentication .NET6 (0) | 2022.08.28 |
(.NET) xenko - 링크 (0) | 2017.04.30 |