Как получить доступ к ячейкам из программно созданного datagridview в VB.net? - PullRequest
0 голосов
/ 16 мая 2019

При создании сетки данных в VB.net я не могу попасть в ячейки нигде, кроме Sub, где это было сделано.Я попытался поместить код в Form_Load и попытался сделать Sub Public.Я использую Controls.Find, который находит сетку данных, но не могу получить доступ ни к каким строкам или ячейкам.Я могу создавать элементы управления текстовыми полями и метками и получать доступ к их текстовому содержимому из любого места, но не с помощью таблицы данных.Это странно для меня.Использование и изучение Visual Basic в Visual Studio 2017 для использования в моей домашней служебной программе.

Dim dgv As New DataGridView
dgv.Location = New Point(2, 200)
dgv.Size = New Size(300, 50)
dgv.Name = "NewDGV"
Dim ColumnTitles() As String = {"ProdId", "Price"}
Dim ColumnWidths() As Integer = {50, 50) 
For i = 0 To UBound(ColumnTitles)
    Dim col As New DataGridViewTextBoxColumn
    col.DataPropertyName = ColumnTitles(i)
    col.HeaderText = ColumnTitles(i)
    col.Name = ColumnTitles(i)
    col.Width = ColumnWidths(i)
    dgv.Columns.Add(col)
Next
Controls.Add(dgv)
‘the following sees the datagridview just fine 
‘within the same sub   
Dim x = dgv.Rows(0).Cells(0).Value

Вот как я создаю этот элемент управления.Возможно, я неправильно добавляю элементы управления?Я открыт для лучших способов сделать это.

Ответы [ 2 ]

1 голос
/ 16 мая 2019
    Dim dgv As DataGridView = CType(Controls("NewDGV"), DataGridView)

    dgv.Rows(0).Cells(0).Value = "I found you!"

Для этого нужно найти первый элемент управления в коллекции Controls, привести его к типу DataGridView и назначить его переменной dgv.Вы можете чем манипулировать dgv.В этом случае я помещаю текст в первую ячейку первого ряда.

0 голосов
/ 16 мая 2019

Вы можете запросить коллекцию элементов управления для экземпляра вашей таблицы данных

Dim MyDgv As DataGridView = Controls.Cast(Of DataGridView).First(Function(dgv) dgv.Name = "NewDGV")

Затем работайте со свойствами, методами и / или событиями MyDGV

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