2011-09-28 29 views
1

什麼是向列表框添加空行(選擇「無」)的最可靠方法?向數據綁定添加空行的最佳做法使用Linq2SQL和Winforms的列表框

SOFAR我用:

 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 

但是這也有一些缺點:

  • 羅嗦
  • 必須明確寫入(在這種情況下表)的類型,所以我不能在這個包起來功能
  • 尚未找到與匿名類型配合使用的解決方案

I.e.如果我向該查詢添加一個

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

此方法不再有效。

感謝

回答

0

下面我將如何使用Union(請注意,您不需要Enumerable.Repeat也不AsQueryable)做到這一點。

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關鍵字)。看我的編輯。 –

相關問題