2010-06-12 4 views
0
  Employee emp = new Employee(); 
      comHandledBySQt.DataSource = emp.GetDataFromTable("1"); 
      comHandledBySQt.DisplayMember = "FirstName"; 

위의 코드는 콤보 상자의 직원 이름 드롭 목록을 표시합니다. 이름과 성을 표시하고 싶습니다. 내가 어떻게 해?데이터 소스를 통해 콤보 상자 채우기 다양한 열의 값 사용

아래 에서처럼 FirstName과 LastName 두 열을 포함 시키려고했지만 작동하지 않았습니다.

comHandledBySQt.DisplayMember = "FirstName" + " " + "LastName"; 

도움이 되겠습니다.

답변

1

데이터 원본을 사용하여 바인딩해야하는 경우에는이를위한 사용자 지정보기를 만들어야합니다. 또는 emp.GetDataFromTable()에서 반환 된 행을 반복하고 각 행을 string.Format() 또는 일부 문자열 조작으로 DropDown에 추가 할 수 있습니다.

1

가장 쉬운 방법은 원하는 값으로 익명의 개체를 선택하는 것입니다.

Employee emp = new Employee(); 
    comHandledBySQt.DataSource = from x in emp.GetDataFromTable("1") 
        select new { x.Id, Name = x.FirstName + " " + x.LastName }; 
    comHandledBySQt.DisplayMember = "Name"; 
    comHandledBySQt.ValueMember = "Id"; 
+0

저는 Linq에 익숙하지 않습니다. "람다 식을 '대리자 형식이 아니므로'string '을 (를) 입력 할 수 없습니다."- 키워드 선택에 파란색 밑줄이 표시됨 조언 해 주실 수 있습니까? 감사 – peace

관련 문제