2011-09-28 1 views
1

ListBox에 빈 행을 추가하는 가장 효과적인 방법은 무엇입니까?Linq2SQL 및 Winforms를 사용하여 데이터 바인딩 된 목록 상자에 빈 행을 추가하는 모범 사례

 Dim List = Enumerable.Repeat(New TABLE With {.Text = "", .ID = -1}, 1).AsQueryable().Union(From t In mainctx.TABLEs) 
     ddlMangelKategorie.DisplayMember = "Text" 
     ddlMangelKategorie.ValueMember = "ID" 
     ddlMangelKategorie.DataSource = List.ToList 

을하지만 이것은 몇 가지 단점이 있습니다 :

SOFAR 내가 사용

  • 말의
  • 해야 (이 경우 표) 형식을 쓰기 명시 적, 그래서 나는이 포장 캔트 함수
  • 는 익명 유형과 호환되는 해결책을 찾지 못했습니다.

즉,

From t In mainctx.TABLEs Select Text=col1, id=col2 

을 쿼리에 추가하면이 방법이 더 이상 작동하지 않습니다.

감사

답변

0

는 여기에 내가 Union (당신이 Enumerable.RepeatAsQueryable 필요하지 않습니다 통지)를 사용하여 그것을 할 것입니다 방법입니다. 익명 형식으로

Dim emptyTable As New TABLE With {.Text = "", .ID = -1} 
Dim list = {emptyTable}.Union(mainctx.TABLEs).ToList() 
ddlMangelKategorie.DataSource = list 

:

Dim emptyTable = New With {.Text = "", .ID = -1} 
Dim databaseTables = From t In mainctx.TABLEs 
        Select Text = t.col1, ID = t.col2 
Dim list = {emptyTable}.Union(databaseTables).ToList() 
ddlMangelKategorie.DataSource = list 
+0

, 좋아 상세에서 조금 더 나은,하지만 여전히 익명 형식으로 작동하지 않습니다 -와, 너무 내 주요 문제는 여기에 ... 익명의 유형 – DanielD

+0

작품 약간의 변경 (익명 유형에는 As 키워드를 사용할 수 없음). 내 편집을 참조하십시오. –

관련 문제