Вставить строку по умолчанию в поле со списком, который связан с данными? - PullRequest
0 голосов
/ 11 июня 2010

В winform есть выпадающий список, который получает информацию из таблицы данных.Объект данных извлекается из списка базы данных.

this.cboList.DataSource = pullData();
this.cboList.DisplayMember = "fieldA";

Как только источник данных установлен, я не могу вставить строку по умолчанию (т.е. *) в качестве первого элемента в выпадающем списке.

Я пробовал это:

this.cboList.Items.Insert(0,"*");

Есть ли способ вставить в поле со списком после того, как источник данных установлен или это должно быть сделано в таблице данных?

UPDATE1:

Решение выглядит примерно так:

 var list = mydt.AsEnumerable().Select(row => row.Field<string>(fieldName)).ToList();
 list.Insert(0, "*");

Где mydt - заполненный объект данных, а fieldName - переменная, содержащая имя поля базы данных.

Ответы [ 2 ]

2 голосов
/ 11 июня 2010

Не изменяйте свои данные в источнике только для того, чтобы ваш интерфейс работал. Вместо этого, возможно, извлеките ваш столбец в список, который вы можете изменить, прежде чем прикреплять его к комбинированному списку.

var list = table.AsEnumerable().Select(row => row.Field<string>("fieldA")).ToList();
list.Insert(0, "*");
this.cboList.DataSource = list;
0 голосов
/ 11 июня 2010

Если «Выбрать Нет» или «*» является допустимым параметром выбора, он должен быть получен из исходного объекта привязки. Я делал это в прошлом, добавляя запись по умолчанию в коллекцию, прежде чем связать ее со списком.

...