Рекомендации по добавлению пустой строки в список данных с привязкой к данным с использованием Linq2SQL и Winforms - PullRequest
1 голос
/ 28 сентября 2011

Какой самый надежный метод для добавления пустой строки (чтобы выбрать «ничего») в ListBox?

Софар я использовал:

       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

Но у этого есть некоторые недостатки:

  • wordy
  • должен явно указать тип (в данном случае TABLE), поэтому я не могу обернуть это в функцию
  • не нашел решения, которое работаетс анонимными типами

Т.е. если я добавлю

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

к запросу, этот метод больше не будет работать.

Спасибо

1 Ответ

0 голосов
/ 28 сентября 2011

Вот как я бы это сделал, используя 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...