Bind Dataset in WPF using Vb.net
In this article we will learn how to bind an ADO.Net Dataset in WPF.
In the WPF we use many application,It is one of the important application in WPF.Binding of an dataset in WPF is quite similar to Window Form application.
1.Use the following code on Window.xaml page
<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:WpfApplication2" Title="ADODataSetSample" Loaded="OnInit"Background="White" Height="250" ">
<StackPanel><StackPanel.Resources>
<DataTemplate x:Key="BookItemTemplate"><Grid><Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*"/></Grid.ColumnDefinitions>
<TextBlock Text="{Binding Path=name}" Grid.Column="0"/>
<TextBlock Text="{Binding Path=address}" Grid.Column="1" />
<TextBlock Grid.Column="2" Text="{Binding Path=Email_id}" ="{Binding _id}"/>
</Grid></DataTemplate></StackPanel.Resources>
<ListBox Name="myListBox" Height="200"ItemsSource="{Binding Path=BookTable}"
ItemTemplate ="{StaticResource BookItemTemplate}"/>
<Button Click="OnClick">Add Record</Button></StackPanel></Window>
2.Use the following code on Window.xaml.vb page
Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Data.SqlClient
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
Partial Public Class Window1
Inherits Window
Public Sub New()
Me.InitializeComponent()
End Sub
Private myDataSet As DataSet
Private Sub OnInit(ByVal sender As Object, ByVal e As EventArgs)
Dim conn As New SqlConnection("Data Source=MCNDESKTOP06;Initial Catalog =empinfo; User ID= sa;Password =wintellect")
Dim adapter As New SqlDataAdapter("SELECT * from emp_info;", conn)
myDataSet = New DataSet()
adapter.Fill(myDataSet, "emp_info")
myListBox.DataContext = myDataSet
End Sub
Private Sub OnClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim myDataTable As DataTable = myDataSet.Tables("emp_info")
Dim row As DataRow = myDataTable.NewRow()
row("Name") = "brijesh"
row("address") = "kanpur"
row("email_id") =
myDataTable.Rows.Add(row)
End Sub
End Class
Public Class IntColorConverter
Implements IValueConverter
Public Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter AsObject, ByVal 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(ByVal value As Object, ByVal targetType As Type, ByVal parameter AsObject, ByVal culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
Return Nothing
End Function
End Class
End Namespace
Output of the Code:
