2009-12-29 9 views
1

일반 목록을 드롭 다운에 바인딩

public class ListA 
{ 

    private string code; 
    private string name; 

    public string Code { get { return code; } set { code = value; } } 
    public string Name { get { return name; } set { name = value; } } 

} 

List<ListA> lst = new List<ListA>(); 

    public List<ListA> getList() 
    { 
     lst.Add(new ListA { Code = "ABC", Name = "Smith" }); 
     lst.Add(new ListA { Code = "XYZ", Name = "Abbey" }); 

     return lst; 
    } 

드롭 다운 목록에서 ABC : Smith가 채워지 길 원합니다.

ddlList.DataTextField = "Name"; 

만 이름을 채 웁니다.

이름과 코드를 모두 채우고 싶습니다. 어떻게해야합니까? 도와주세요.

답변

3

DataTextField는 단일 속성을 표시하는 데만 사용할 수 있습니다. 당신은 다음과 같이 중고 장비 구매에 새 속성을 만들 수 있습니다 :

public string Display { get { return Code + ":" + Name; } } 

또는 전부 DataTextField를 제거하고

public override string ToString() { return Code + ":" + Name; } 

를 사용하거나 중고 장비 구매를 상속 것들 중 하나를 수행하는 새로운 클래스를 만들어 적절한 표시를 위해 위에서 언급 한.

+0

드롭 다운 목록 아래에 드롭 다운 목록에서 코드가 아닌 선택한 이름 만 채우려는 asp : 레이블이 있습니다. 어떻게하면됩니까? 선택한 값을 캡처 할 수 있지만 여기에는 코드가 아니라 이름 만 필요합니다. 고마워 – user240266

+0

내 솔루션 중 하나를 사용하여 DataValueField를 이름으로 설정할 수 있습니다. –

1

NameAndCode 문자열 속성을 Code + ":"+ Name을 반환하는 ListA 클래스에 추가합니다. 그런 다음 DataTextField 값을 만듭니다.

관련 문제