Show / Hide Table of Contents

Практическое руководство. Создание таблицы подстановки для элемента управления ComboBox, ListBox или CheckedListBox в Windows Forms

Иногда полезно отображать данные в удобном для пользователя формате в форме Windows Forms и при этом сохранять их в формате, требуемом в используемой программе. Например, в бланке заказа продуктов питания могут отображаться элементы меню с названиями продуктов в списке. Однако таблица данных регистрации заказа будет содержать уникальные идентификаторы, представляющие продукты питания. В таблице ниже представлен пример хранения и отображения данных бланка заказа продуктов питания.

OrderDetailsTable

OrderID Код элемента Количество
4085 12 1
4086 13 3

ItemTable

ID name
12 Картофель
13 Цыпленок

В этом случае одна таблица OrderDetailsTable, содержит фактические сведения, важные с отображения и сохранения. Однако с целью экономии места они представлены в неудобном для восприятия виде. Другая таблица, ItemTable, содержит только связанные сведения о том, какой идентификатор номер эквивалент для определения имени качества пищевых продуктов и ничего о заказах на фактический качества пищевых продуктов.

ItemTable подключен к ComboBox, ListBox, или CheckedListBox управления с помощью трех свойств. DataSource Свойство содержит имя этой таблицы. DisplayMember Свойство содержит столбец данных таблицы, который будет отображаться в элементе управления (название продукта). ValueMember Свойство содержит столбец данных таблицы, в которой хранится информация (номер идентификатора).

OrderDetailsTable подключен к элементу управления с помощью коллекции привязок, через DataBindings свойство. При добавлении объекта привязки в коллекцию свойство элемента управления соединиться элемент данных (столбец идентификаторов) в источнике данных ( OrderDetailsTable). Когда в элементе управления делается выбор, в этой таблице сохраняются вводимые данные.

Создание таблицы подстановок

  1. Добавьте на форму элемент управления ComboBox, ListBox или CheckedListBox.

  2. Произведите подключение к источнику данных.

  3. Установите связь между данными в двух таблицах. См. в разделе Знакомство с объектами DataRelation.

  4. Задайте перечисленные ниже свойства. Их можно задать в коде или в конструкторе.

    Свойство Параметр
    DataSource Таблица, в которой содержатся сведения о том, какому коду соответствует тот или иной элемент. В приведенном выше сценарии это ItemTable.
    DisplayMember Столбец таблицы источника данных, который необходимо отобразить в элементе управления. В приведенном выше сценарии это "Name" (Чтобы задать в коде, используйте кавычки).
    ValueMember Столбец таблицы источника данных, который содержит сохраняемую информацию. В приведенном выше сценарии это "ID" (Чтобы задать в коде, используйте кавычки).
  5. В процедуре вызовите метод Add класса ControlBindingsCollection для привязки свойства SelectedValue элемента управления к таблице, в которой регистрируются данные, вводимые в форме. Также это можно сделать в конструкторе, а не в коде, обратившись к элемента управления DataBindings свойство в свойства окна. В приведенном выше сценарии это OrderDetailsTable, а столбец "ItemID".

    ListBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID")  
    
    listBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID");  
    

См. также

  • Связывание данных и Windows Forms
  • Общие сведения об элементе управления ListBox
  • Общие сведения об элементе управления ComboBox
  • Общие сведения об элементе управления CheckedListBox
  • Создание списка для выбора элементов в Windows Forms
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX