i want to create table dynamically using datagrid in wpf ((( in my code i jux wana know how to create dynamic Grid View such that in combo box i select the item it'll show its records in Grid View plz sum one help me out regarding dis:(((((
xaml code:
<Window x:Class="WpfApplication10.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBox Height="23" HorizontalAlignment="Left" Margin="10,10,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
<Label Content="{Binding ElementName=textBox1,Path=Text}" Height="28" HorizontalAlignment="Right" Margin="0,5,204,0" Name="label1" VerticalAlignment="Top" Width="125" />
<ComboBox Height="23" HorizontalAlignment="Left" Margin="298,5,0,0" Name="cmdtables" VerticalAlignment="Top" Width="120" SelectionChanged="cmdtables_SelectionChanged" Grid.Row="1">
<ComboBox.Items>
<TextBlock Text="CUSTOMERS"/>
<TextBlock Text="ORDERS" />
</ComboBox.Items>
</ComboBox>
<DataGrid AutoGenerateColumns="True" ItemsSource="{Binding}" Height="200" HorizontalAlignment="Left" Margin="262,29,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="200" Grid.Row="1" />
</Grid>
</Window>
xaml.cs:
using System;using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;
using MySql.Data.MySqlClient;
using System.Data.SqlClient;
namespace WpfApplication10
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
string connectionString = @"Server=localhost;Database=phonebook;Uid=root;Password=123456";
//string connectionString = "Server=D-SUDHIRK; Database=Northwind; User Id=sa; password= sa12345";
SqlConnection connection = null;
SqlCommand command;
string sql = "SELECT * From contact";
SqlDataAdapter adapter = new SqlDataAdapter();
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
BindData();
}
private void BindData()
{
DataSet ds = new DataSet();
command = new SqlCommand(sql, connection);
connection.Open();
adapter.SelectCommand = command;
adapter.Fill(ds, "TABLES");
cmdtables.DataContext = ds.Tables[0].DefaultView;
cmdtables.DisplayMemberPath = "name";
}
private void cmdtables_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataRowView cbItem = (DataRowView)cmdtables.SelectedItem;
sql = "SELECT * FROM " + cbItem.Row.ItemArray[0].ToString();
DataSet ds = new DataSet();
dataGrid1.DataContext = null;
using (connection = new SqlConnection(connectionString))
{
command = new SqlCommand(sql, connection);
connection.Open();
adapter.SelectCommand = command;
adapter.Fill(ds, "DATA");
//Binding the data to the combobox.
dataGrid1.DataContext = ds.Tables[0].DefaultView;
//cmbTables.DisplayMemberPath = "name";
}
}
}
}