vb.net datagridview удаление ссылки на набор данных

Я загружаю данные из XML в набор данных, а затем использую набор данных для заполнения моего представления данных. Делая это, мой DGV привязывается к набору данных. Теперь я получаю следующую ошибку: «Свойство RowCount не может быть установлено в элементе управления DataGridView с привязкой к данным».

можно ли снова сделать мой DGV «несвязанным», чтобы предотвратить эти ошибки? или есть другой способ исправить это?


person Fyer-Zero    schedule 08.11.2017    source источник
comment
Если вы установите DataSource, то сетка будет привязана. Если вы не хотите, чтобы сетка была привязана, не устанавливайте DataSource, но это означает, что вам нужно создавать столбцы и строки и добавлять все данные самостоятельно.   -  person jmcilhinney    schedule 08.11.2017
comment
поэтому, если я правильно понял вместо использования: DGV.DataSource = Dataset.Tables(table1), я использую: DGV(0, 0).Value = Dataset.Tables(table1).Rows(0).Item(0)   -  person Fyer-Zero    schedule 08.11.2017
comment
Не только это. Эта вторая строка кода устанавливает Value конкретной ячейки, поэтому вам пришлось бы сначала добавить хотя бы один столбец и одну строку, чтобы сделать это. Обычно вы сначала добавляете столбцы, а затем одновременно добавляете строки и данные, но это не обязательно. Я уверен, что вы можете найти множество примеров заполнения DataGridView с помощью веб-поиска.   -  person jmcilhinney    schedule 08.11.2017
comment
Я знаю это, я уже установил свои столбцы и, конечно, добавлю строки, если это необходимо. но просто хотел знать, получает ли только что опубликованная строка значение из набора данных и помещает ли его в указанную ячейку.   -  person Fyer-Zero    schedule 08.11.2017


Ответы (1)


Спасибо за помощь, jmcilhinney, вот решение, которое я использовал

Do While i < Dataset.Tables("table1").Rows.Count
            If i = DGV.RowCount Then
                DGV.Rows.Add()
            End If
            c = 0
            Do While c < Dataset.Tables("table1").Columns.Count
                DGV.Rows(i).Cells(c).Value = Dataset.Tables("table1").Rows(i).Item(c)
                c = c + 1
            Loop
            i = i + 1
        Loop
person Fyer-Zero    schedule 08.11.2017