2014-02-16 6 views
0

Я работаю над приложением формы Windows, используя VB.net. Я заполнил Datagridview1 (dataset1.existingtable - это тип данных). Теперь я хочу получить отдельные значения из одного столбца его данных, а затем заполнить другой Datagridview2 (dataset2.uniquerecords - это datatable).Обновление данных datagridview после заполнения существующего datatable в vb.net

ПРОБЛЕМА: Невозможно обновить данные в Datagridview2 с использованием режима разработки. Однако я могу обновлять данные при динамическом создании данных во время выполнения. Ниже приведена подменю после события после полной загрузки моей формы.

Код ниже не работает

Private Sub loaddistinctrecords() 

    uniquerecords = existingtable.DefaultView.ToTable(True, "column_name")  
    Datagridview2.Refresh() 
End Sub 

Ниже код работает

Private Sub loaddistinctrecords() 

    Dim newuniquerecords As New DataTable() 
    newuniquerecords = existingtable.DefaultView.ToTable(True, "column_name") 
    Datagridview2.DataSource = newuniquerecords.DefaultView 

End Sub 

ответ

0

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

Что можно сделать, это просто очистить существующие записи, а затем объединить записи из источника данных.

Private Sub loaddistinctrecords() 

    uniquerecords.Clear() 
    uniquerecords.Merge(existingtable.DefaultView.ToTable(True, "table_name")) 

End Sub 
Смежные вопросы