Вот часть XAML приложения, над которым я работаю:
<ListView Name="lsvCustomerDetails" ItemsSource="{Binding myDataTable}">
<ListView.View>
<GridView>
<GridViewColumn Header="Script Name" DisplayMemberBinding="{Binding ID}"/>
<GridViewColumn Header="Status" DisplayMemberBinding="{Binding status}"/>
<GridViewColumn Header="Date" DisplayMemberBinding="{Binding date}"/>
</GridView>
</ListView.View>
</ListView>
и соответствующий VB.NET:
Class Window1
Public myDataTable As DataTable
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim objOracleConnection As New OracleConnection("Data Source=DB;User Id=user;Password=password;")
Dim objOracleCommand As New OracleCommand
Dim objOracleReader As OracleDataReader
objOracleConnection.Open()
objOracleCommand.Connection = objOracleConnection
objOracleCommand.CommandText = "SELECT * FROM customers"
objOracleReader = objOracleCommand.ExecuteReader()
Using objOracleConnection
Dim objOracleAdapter As OracleDataAdapter = New OracleDataAdapter(objOracleCommand.CommandText, objOracleConnection)
objOracleAdapter.Fill(myDataTable)
End Using
lsvCustomerDetails.DataContext = myDataTable
objOracleConnection.Close()
End If
End Using
Корректен ли этот код для заполнения этой таблицы? Если нет, то почему? Честно говоря, я нашел несколько точек зрения на то, как это сделать, некоторые из которых связаны ниже:
Из кода коммутатора
Из csharpcorner
Из блога Аллена Мак