쌈꼬쪼려 소백촌닭
출처 : http://blog.naver.com/tear230/100020088426
ColorType이라는 열겨형 객체가 아래와 같이 선언되어 있고,
enum ColorType { Red = 1, Green = 2, Blue = 4, Yellow = 8 };
DropDownList1이라는 드롭다운리스트 컨트롤이 아래와 같이 선언되어 있다고 할경우
<asp:DropDownList runat="server" DataTextField="Key" DataValueField="Value"
id="DropDownList1">
DropDownList1에 ColorType을 아래코드처럼 바인딩 하려고 하면 에러가 발생합니다.
DropDownList1.DataSource = ColorType;
이럴경우 해쉬테이블로 만들어 반환하는 메서드를 만들어서 사용한다.
public static Hashtable BindToEnum( Type enumType )
{
string[] names = Enum.GetNames( enumType ); //열거형의 이름 배열
Array values = Enum.GetValues( enumType ); // 열거형의 값의 배열
Hashtable ht = new Hashtable();
for (int i = 0; i < names.Length; i++)
ht.Add(names[i], (int)values.GetValue(i));
return ht;
}
바인딩할때는...
//this.DropDownList1.DataValueField = "Value";
//this.DropDownList1.DataTextField = "Key";
this.DropDownList1.DataSource = BindToEnum( typeof( ColorType) );
this.DropDownList1.DataBind();
'IT-개발,DB' 카테고리의 다른 글
[개발/asp.net] 파일이름으로 응용 프로그램 시작하기 (0) | 2010.12.10 |
---|---|
[개발/asp.net] Visual Studio 2005에 .NET 3.0 환경 추가하기 (0) | 2010.12.10 |
[개발/VC++] 비주얼 스튜디오 2008에 WTL 8.0 설치하는 방법 (0) | 2010.12.09 |
[개발/asp.net] PostBack없이 서버 갔다오기(ScriptCallBack) (0) | 2010.12.06 |
[개발/asp.net] 날짜 문자열을 내맘대로 만들기 (0) | 2010.12.06 |
댓글