Пустая проблема BindingSource - PullRequest
       43

Пустая проблема BindingSource

3 голосов
/ 28 января 2009

У меня проблема с привязкой данных с использованием BindingSource, типизированного набора данных и DataGridView. Моя проблема: BindingSource, поэтому grid, пусто после привязки данных (bindingSource.Count равен 0). Я не мог понять, что я делаю неправильно, и я был бы очень рад, если бы кто-нибудь мог мне помочь с этим. Моя структура приложения выглядит следующим образом: у меня есть две сборки, одна - Winforms UI, а другая - библиотека классов базы данных.

UI

  • DataGridView, источник данных как BindingSource
  • BindingSource, источник данных = DBAssembly.typedDataset, datamember = DBAssembly.typedDataset.myTable

Сборка базы данных

  • База данных Sql Server CE
  • Типизированный набор данных
  • Класс БД для операций с базой данных

Код интерфейса пользователя

OnLoad

this.db = new DB(); 
db.BindData(); 

Код БД

Конструктор

create typedDataSet object 
create typedDataSetTableAdapters.MyTableTableAdapter object 
create typedDataSetTableAdapters.TableAdapterManager object 

BindData ()

this.myTableTableAdapter.Fill(this.typedDataSet.MyTable) 

Буду признателен за помощь.

Ответы [ 2 ]

1 голос
/ 28 января 2009

Ну, первое, что нужно спросить: что такое this.typedDataSet.MyTable.Rows.Count? т.е. адаптер сделал что-нибудь? Если нет, то это никак не связано с привязкой.

Если он не пустой, то какой точный код вы используете для установки DataSource и DataMember? Я ожидаю, что это должно быть:

bindingSource.DataSource = this.typedDataSet;
bindingSource.DataMember = "MyTable";
dataGridView.DataSource = bindingSource;

В качестве альтернативы, вы можете установить для источника данных bindingSource значение this.typedDataSet.MyTable и оставить таблицу пустой.

По сути, я ожидаю, что вы указали ему тип данных для ожидания, но до сих пор вы фактически не дали ему набор данных / таблицу данных, которую хотите использовать. 1017 *

0 голосов
/ 29 января 2009

По сути, я ожидаю, что вы указали тип ожидаемых данных, но пока вы на самом деле не дали ему набор данных / таблицу данных, которую вы хотите использовать.

Марк, ты был прав насчет этого. Я должен создать публичное свойство DataSet в своем классе БД и использовать его в качестве источника данных BindingSource для выполнения этой работы. Спасибо за помощь.

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