Şub
23
2012

Wpf DataGrid Kullanimi

Merhaba  Arkadaşlar,

Bugünkü yazımda wpf datagrid kullanımı açıklamaya çalışacağım. Benim en iyi anladığım yönetem olan örnekleme ile size küçük bir örnek yaparak açıklayacağım.

Adım 1 :İlk olarak WPF projesini oluşturuyoruz.

Adım 2: Projemize Linq to Sql  Clasını ekliyoruz.

dataLayer

Adım 3:Veri tabanıda kullanmak istediğimiz tabloları sürükle bırak ile Linq to Sql Sınıfna alıyoruz.

layer_veri_atama

Adım 4: Ekranımızın tasarımını yapıyoruz ve tablomuzdaki alanları datagrid bağlıyoruz.

MainWindow.xaml kodları :

<Window x:Class=”Data.MainWindow”

        xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”

        xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”

        Title=”Data Grid Kullanımı” Height=”343″ Width=”400″>

    <Grid Height=”309″ Width=”392″>

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width=”204*” />

            <ColumnDefinition Width=”108*” />

        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>

            <RowDefinition Height=”27*” />

            <RowDefinition Height=”301*” />

        </Grid.RowDefinitions>

        <Button x:Name=”getir” Content=”Getir” Click=”getir_Click” Margin=”0,0,71,0″ />

        <DataGrid x:Name=”goster”  AlternationCount=”2″ SelectionMode=”Single” AutoGenerateColumns=”False” x:Uid=”goster” Margin=”0,15,-47,0″ VerticalAlignment=”Top” Height=”333″ Grid.Row=”1″ Grid.ColumnSpan=”2″>

            <DataGrid.Columns>

                <DataGridTextColumn Binding=”{Binding Path=sira_id}” IsReadOnly=”True” Header=”SiraID” Width=”SizeToHeader”/>

                <DataGridTextColumn Binding=”{Binding Path=AdiSoyadi}” Header=”Adi Soyadi” Width=”SizeToHeader”/>

                <DataGridTextColumn Binding=”{Binding Path=MailAdresi}”  Header=”MailAdresi” Width=”SizeToHeader”/>

                <DataGridTextColumn Binding=”{Binding Path=Gorusu}” Header=”Gorusu” Width=”SizeToHeader”/>

                <DataGridTextColumn Binding=”{Binding Path=id}” Header=”id” Width=”SizeToHeader”/>

                <DataGridTemplateColumn Header=”Düzenleme”>

                    <DataGridTemplateColumn.CellTemplate>

                        <DataTemplate>

                            <Button x:Name=”duzenle” Content=”Düzenle” Click=”duzenle_Click”/>

                        </DataTemplate>

                    </DataGridTemplateColumn.CellTemplate>

                </DataGridTemplateColumn>

            </DataGrid.Columns> 

        </DataGrid>

    </Grid>    

</Window>

Adım 5: MainWindow.xaml.cs Kodları  

Datagrid SubmitChanges özelliğin ne işe yaradığını bilinmesi gerekir.

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;

 

namespace Data

{

    /// <summary>

    /// Interaction logic for MainWindow.xaml

    /// </summary>

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent();

        }

 

        private void getir_Click(object sender, RoutedEventArgs e)

        {

            LoadZiyaret();

        }

        DataLayerDataContext dataContext = new DataLayerDataContext();

        private void LoadZiyaret()

        {

 

            var ziyaret = (from z in dataContext.Ziyaret_Defteris orderby z.id  select z).Take(100);

            goster.ItemsSource = ziyaret;

            getir.Content = “Ziyaretci Defteri Getirildi”;

          

        }

 

 

        private void duzenle_Click(object sender, RoutedEventArgs e)

        {

            try

            {

                Ziyaret_Defteri ziyaretSatır = goster.SelectedItem as Ziyaret_Defteri;

 

                int m = ziyaretSatır.sira_id;

 

                Ziyaret_Defteri ziyaretci = (from p in dataContext.Ziyaret_Defteris where p.sira_id == m select p).Single();

                ziyaretci.id = ziyaretSatır.id;

                ziyaretci.AdiSoyadi = ziyaretSatır.AdiSoyadi;

                ziyaretci.Gorusu = ziyaretSatır.Gorusu;

                ziyaretci.MailAdresi = ziyaretSatır.MailAdresi;

                dataContext.SubmitChanges();

 

                 MessageBox.Show(“Satır Güncellenmiştir”);

                 LoadZiyaret();

            }

            catch (System.Exception ex)

            {

                MessageBox.Show(ex.Message);

                return;

            }

        }      

    }

}

Bol wpf  günler dilerim.

Yazan: Harun Balta

 

Yazar Hakkında

Harun Balta 63 adet yazısı bulunuyor..

Bilgisayar Mühendisliği Üzerine çalıştığım konular: C# , .Net , Silverlight , WPF , Entity Framework ,MVVM, Oracle ,Pl/Sql

Print Friendly