2012-06-26 2 views
0

Я думал, что дам привязать данные к winforms и создать объект-источник данных для моего проекта, используя класс. Я позволяю IDE создавать dataGridView и управлять источником данных, перетаскивая их в форму.Передача данных в winform?

Что мне сейчас нужно сделать, это установить источник данных для всей формы в коллекцию этих классов. Таким образом, элементы управления «автоматически магически» заполнены. Я сделал это раньше, но у меня нет доступа к коду прямо сейчас. Мои поисковые запросы Google включают привязку к элементам управления.

Я уверен, что у него есть что-то, что нужно сделать для BindingContext формы, но опять же, никакой помощи от google.

+1

help получен из Google: http://www.akadia.com/services/dotnet_databinding.html – Reniuz

+0

Здесь я впервые узнал объект [привязка данных] (http://www.dnrtv.com/default.aspx? showNum = 7) –

+0

Возможно, вы говорите о 'BindingSource' (перетащите n на форму), с которым вы подключаетесь с помощью' custom object' [класса в вашем проекте, который предоставляет некоторые общедоступные свойства], и этот источник привязок тогда подаются в другие элементы управления через «DataBindings> Advanced Properties» отдельных элементов управления и «тогда каждый элемент управления может быть запрограммирован на ответ на этот источник привязки на основе события (которое снова можно выбрать в окне« Дополнительные свойства »). –

ответ

1

Я понял это снова. Когда вы перетаскиваете эти элементы управления в своей форме, среда IDE создает для них источник данных. Затем он автоматически настраивает все источники данных ваших источников на этот источник данных.

приватная система.Windows.Forms.BindingSource conversion4GLBindingSource;

Так все, что нужно сделать, это:

this.conversion4GLBindingSource.DataSource = Conversion4GL.History;

в событии form_load, и все мои вещи работают ... автоматически магически! Довольно круто. Это классно, когда ваш класс наследует от INotifyPropertyChanged, и вы можете видеть, как ваши поля изменяются по мере ввода.

Спасибо всем за помощь.

+0

Прочтите мои предыдущие комментарии. Кроме того, что вы подразумеваете под «IDE создает источник данных»? О каком компоненте вы говорите здесь? –

+0

В форме'.Designer.cs. Когда вы перетаскиваете источник данных в свою форму из окна «Источники данных», среда IDE генерирует целую кучу кода. Он фактически создает либо элемент управления datagridview с столбцом для каждого свойства, либо группу текстовых полей, меток и списков (вы можете выбрать, нажав на источник данных). Он также генерирует вышеупомянутый источник данных, о котором я забыл. – Belmiris

+0

Также, чтобы использовать ваше событие INotifyPropertyChanged для ваших элементов управления без сетки, перейдите в Data Bindings> Advanced и установите режим обновления для OnPropertyChanged. – Belmiris

Смежные вопросы