Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Bind to an ADO NETDataSet

<Window x: Class="WpfApplication1.Window1"   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   xmlns:c="clr-namespace:WpfApplication1"   Title="ADODataSetSample" Loaded="OnInit" Background="White" Height="250" Width="450">   <StackPanel>     <StackPanel.Resources>       <c:IntColorConverter x:Key="MyConverter"/>       <DataTemplate x:Key="BookItemTemplate">         <Grid>           <Grid.ColumnDefinitions>             <ColumnDefinition Width="250" />             <ColumnDefinition Width="100" />             <ColumnDefinition Width="*"/>           </Grid.ColumnDefinitions>           <TextBlock Text="{Binding Path=Title}" Grid.Column="0"/>           <TextBlock Text="{Binding Path=ISBN}" Grid.Column="1" />           <TextBlock Grid.Column="2" Text="{Binding Path=NumPages}" Background="{Binding Path=NumPages,               Converter={StaticResource MyConverter}}"/>         </Grid>       </DataTemplate>     </StackPanel.Resources>     <ListBox Name="myListBox" Height="200"       ItemsSource="{Binding Path=BookTable}"       ItemTemplate ="{StaticResource BookItemTemplate}"/>     <Button Click="OnClick">Add Record</Button>   </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.Collections Imports System.ComponentModel Imports System.Data Imports System.Data.OleDb Imports System.IO Imports System.Globalization Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Collections.Generic Namespace WpfApplication1   Public Partial Class Window1     Inherits Window     Public Sub New()       Me.InitializeComponent()     End Sub     Private myDataSet As DataSet     Private Sub OnInit(sender As Object, e As EventArgs)       Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\BookData.mdb")       Dim adapter As New OleDbDataAdapter("SELECT * FROM BookTable;", conn)       myDataSet = New DataSet()       adapter.Fill(myDataSet, "BookTable")       myListBox.DataContext = myDataSet     End Sub     Private Sub OnClick(sender As Object, e As RoutedEventArgs)       Dim myDataTable As DataTable = myDataSet.Tables("BookTable")       Dim row As DataRow = myDataTable.NewRow()       row("Title") = "A"       row("ISBN") = "0-1111-1111-2"       row("NumPages") = 1       myDataTable.Rows.Add(row)     End Sub   End Class   Public Class IntColorConverter     Implements IValueConverter     Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert       Dim numValue As Integer = CInt(value)       If numValue < 50 Then         Return System.Windows.Media.Brushes.Green       Else         Return System.Windows.Media.Brushes.Red       End If     End Function     Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack       Return Nothing     End Function   End Class End Namespace