Как вставить пустое поле в ComboBox, привязанное к DataTable - PullRequest
17 голосов
/ 14 октября 2008

У меня есть поле со списком в приложении WinForms, в котором можно выбрать элемент, но это не обязательно. Поэтому мне нужен первый элемент «Пусто», чтобы указать, что значение не было установлено.

Поле со списком привязано к DataTable, возвращаемому из хранимой процедуры (я не приношу извинений за венгерскую запись в моих элементах управления пользовательского интерфейса: p):

 DataTable hierarchies = _database.GetAvailableHierarchies(cmbDataDefinition.SelectedValue.ToString()).Copy();//Calls SP
 cmbHierarchies.DataSource = hierarchies;
 cmbHierarchies.ValueMember = "guid";
 cmbHierarchies.DisplayMember = "ObjectLogicalName";

Как мне вставить такой пустой элемент?

У меня есть доступ к изменению SP, но я бы предпочел не «загрязнять» его логикой пользовательского интерфейса.

Обновление: Это был DataTable.NewRow (), на котором я остановился, спасибо. Я обновил вас всех (все 3 ответа так или иначе пока). Я пытаюсь заставить работать шаблон Итератора, прежде чем выбрать «ответ»

Обновление: Я думаю, что это изменение помещает меня в вики сообщества, я решил не указывать ни одного ответа, так как все они имеют свои достоинства в контексте своих доменов. Спасибо за ваш коллективный вклад.

Ответы [ 13 ]

0 голосов
/ 28 июня 2012

У меня был похожий вызов. Как часть события загрузки формы я установил SelectedIndex элемента управления на -1

е

private void Form1_Load(object sender, EventArgs e)
{         
    this.TableAdapter.Fill(this.dsListOfCampaigns.EvolveCampaignTargetListMasterInfo);
    this.comboCampaignID.SelectedIndex = -1;
}

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

0 голосов
/ 14 октября 2008

Я бы связал данные, а затем вставил пустой элемент в позицию 0, используя метод ComboxBox.Items.Insert. Похоже на то, что предложил flipdoubt, но добавляет элемент к вершине.

0 голосов
/ 14 октября 2008

Э-э, вы не можете просто добавить элемент по умолчанию в ComboBox после привязки данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...