Я пытаюсь показать DataGridView в форме, привязанной к DataTable, но она не отображается. Я делал это с использованием C1TrueDBGrid и работал ... Я решил переключиться на использование DataGridView из-за некоторых осложнений с TrueDBGrid. Может ли кто-нибудь помочь мне разобраться, почему ничего не показывает?DataGridView привязан к DataTable не показывает
В форме я объявляю эти:
Public binData As DataSet
Friend WithEvents dgvData As System.Windows.Forms.DataGridView
binData заполняется таблиц, созданных с помощью отдельной подпрограммы вычисления. Тогда это событие формы нагрузки:
'create a tab page and add data grid view for every table in the set
For i = 0 To binData.Tables.Count - 1
Dim tabPage As C1.Win.C1Command.C1DockingTabPage = New C1.Win.C1Command.C1DockingTabPage
tabPage.Text = binData.Tables(i).TableName
tabContent.TabPages.Add(tabPage)
Dim dgvData = New System.Windows.Forms.DataGridView
Dim binding As New BindingSource
binding.DataSource = binData.Tables(i)
With dgvData
.Dock = DockStyle.Fill
.AllowUserToOrderColumns = False
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomLeft
.DataSource = binding
.AutoGenerateColumns = True
End With
tabPage.Controls.Add(dgvData)
Next 'DataTable In binData.Tables
При загрузке формы, вкладка страницы есть и помечены, как и ожидалось, но они выглядят пустыми (без стола).
Я попытался вместо этого установить DataSource в DataSet, называемый binData (в отличие от конкретной таблицы), а затем установить свойство DataMember dgvData на имя конкретной таблицы, которую я хочу отобразить в ней ..., которая не сделала разница.
Примечание: Мне нужно иметь возможность делать это программно во время выполнения, а не с помощью визуального конструктора, потому что я не знаю точное количество сеток, которые мне нужны, пока форма не загрузится с определенным набором данных - набор данных, который он может получить имеют различное количество таблиц в зависимости от того, чего хочет пользователь.
Вы устанавливаете источник данных источника привязки в таблицу, но не устанавливаете источник данных самой сетки на что-либо. – Jeremy
@Jeremy - В блоке With я устанавливаю dgvData .DataSource = binding. Есть ли еще что я должен сделать, чтобы сделать источник данных сетки таблицей? – Andarta
dgvData должен быть элементом управления (GUI), а не переменной. Удалите инструкции Dim/Friend для dgvData и добавьте элемент управления в форму из папки «Данные» в панели инструментов. – rheitzman