VB. net При присвоении объекта класса сетке данных строки не возвращаются - PullRequest
0 голосов
/ 02 августа 2020

Я создаю объект matchwinner, используя

Public Class matchwinner
    Public Property _hwp As Double
    Public Property _dwp As Double
    Public Property _awp As Double
End Class

и назначаю его следующим образом:

Dim mw As matchwinner = New matchwinner
    mw._hwp = Int(100 * (1 / hw)) / 100
    mw._dwp = Int(100 * (1 / dw)) / 100
    mw._awp = Int(100 * (1 / aw)) / 100

При отладке mw правильно назначил три переменные, а затем пытаюсь назначить datagrid как

 dgMW.DataSource() = mw

, но в моей сетке данных нет строк, только заголовки, которые я предварительно установил.

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

Я попытался установить column (x) .name как переменные, которые я хочу, на случай, если потребуется сопоставить их, но это не сработало.

Я предполагаю, что это как-то связано с созданным мной классом, но не совсем уверен, что именно.

1 Ответ

0 голосов
/ 02 августа 2020

DataGridView должен быть привязан к коллекции объектов. Он будет создавать один столбец для каждого свойства и одну строку для каждого объекта, если он будет найден в списке

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

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

Вот как это может выглядеть - Запись экрана анимации GIF

...