چگونه از DataGrid در WPF استفاده کنیم

DataGrid در WPF

در این مقاله معرفی مختصری درباره ی استفاده از DataGrid در WPF خواهیم داشت. علاوه بر توضیحات کامل و تصاویر ، سورس نیز در انتهای مطلب برایتان قرار داده شده است… موفق باشید !

DataGrid در WPF

در این جا مراحل ایجاد یک DataGrid در WPF با سطر و ستون های AutoGenerate را دنبال خواهیم کرد.

ایجاد یک پروژه WPF

روی منوی File،Project و سپس Windows و پس از آن WPF Application کلیک می کنیم.

DataGrid در WPF

بعد از ایجاد کلیک، صفحه ای که نمایش داده می شود به شکل زیر خواهد بود:

DataGrid در WPF

فایل های پیش فرض

App.xaml: این فایل بر کلاس ها و StartUri نظارت می کند که کدام پنجره (فرم) ابتدا اجرا شود. App.xaml از نظر کاربرد همان فایل Program.cs در اپلیکیشن های ویندوز فرم می باشد.

MainWindow.xaml: فایلی است که به طور پیش فرض برای اپلیکیشن های WPF ایجاد می شود. این فایل نیز مشابه Form1.cs است که به طور پیش فرض در ویندوز فرم ایجاد می شود.

WPF از نظر امکانات و کد نویسی، ترکیبی از اپلیکیشن های وب و ویندوز فرم می باشد. فایل فرم WPF مانند Web Form ها دو روش کدنویسی دارد یکی تب XAML و دیگری تب Design.

یک کنترل DataGrid به پروژه اضافه می کنیم.

سایز آن را به صورت دلخواه تنظیم می کنیم. این کار را هم می توان از طریق code behind انجام داد و هم xaml.

DataGrid در WPF

در ابتدا، AutoGenerateColumn را true قرار می دهیم و سپس آن را False می کنیم.

قبل از اینکه کدنویسی در Code Behind را شروع کنیم، باید فضاهای نام موردنیاز ADO.Net را برای پر کردن DataGrid به پروژه اضافه کنیم.

برای واکشی رشته اتصال از App.Config، باید رفرنس فایل System.Configuration.dll را به آن بدهیم.

روی نام پروژه یا فولدر Reference کلیک می کنیم.

گزینه Add Reference را انتخاب می کنیم.

DataGrid در WPF

با کلیک روی این گزینه، پنجره Reference manager باز می شود.

اولین گزینه از سمت چپ یعنی Framework را انتخاب کرده و سپس System.Configuration را جستجو می کنیم.

DataGrid در WPF

پس از اتمام کار رفرنس، می توانیم از فضای نام System.Configuration استفاده کنیم.

فضای نام های موردنیاز

فضای نام های زیر را در فایل MainWindow.xaml.cs اضافه می کنیم.

Using System.Data

برای دریافت کلاس های مدیریت دادهADO.Net

Using System.Data.SqlClient

برای اتصال به Microsoft SQL server

Using System.Configuration

برای واکشی تنظیمات و رشته اتصال از app.config

برای پیاده سازی DataGrid، از سه فایل و جدول به شکل زیر استفاده کردیم.

ساختار جدولی با نام tblFriends در دیتابیس MemberCDAC

USE [MemberCDAC]  
GO  
/****** Object:  Table [dbo].[tblFriends]    Script Date: 12/19/2015 09:48:03 ******/  
SET ANSI_NULLS ON  
GO  
SET QUOTED_IDENTIFIER ON  
GO  
SET ANSI_PADDING ON  
GO  
CREATE TABLE [dbo].[tblFriends](  
    [FriendID] [int] IDENTITY(1,1) NOT NULL,  
    [FriendName] [varchar](50) NULL,  
    [FriendImage] [varchar](500) NULL,  
    [Place] [varchar](500) NULL,  
    [Mobile] [varchar](20) NULL  
) ON [PRIMARY]  
  
GO 

فایل App.Config

<?xml version="1.0" encoding="utf-8" ?>  
   <configuration>  
      <connectionStrings>  
         <add name="MemberCDACConnectionString" connectionString="Data Source=SAIBABA-PC\SAIBABA;Initial Catalog=MemberCDAC;Integrated Security=True" providerName="System.Data.SqlClient"/>  
      </connectionStrings>  
</configuration>  

فایل MainWindow.xaml

<Window x:Class="FirstWpfApplication.MainWindow"  
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
        Title="MainWindow" Height="500" Width="700">  
    <Grid Margin="0,-4,0,4">  
        <DataGrid HorizontalAlignment="Left" VerticalAlignment="Top" Height="174" Width="562" Margin="0,275,0,0"   
         AutoGenerateColumns="True" Name="grdFriends"/>  
  
    </Grid>  
</Window>  

فایل MainWindow.xaml.cs

 <Window x:Class="FirstWpfApplication.MainWindow"  
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
        Title="MainWindow" Height="500" Width="700">  
    <Grid Margin="0,-4,0,4">  
        <DataGrid HorizontalAlignment="Left" VerticalAlignment="Top" Height="174" Width="562" Margin="0,275,0,0"   
         AutoGenerateColumns="True" Name="grdFriends"/>  
  
    </Grid>  
</Window>  

DataGrid در WPF

در تصویر بالا، autogeneratedcolumn در حالت true می باشد.

حالا می خواهیم ببینیم که چگونه می توان ستون ها را به صورت دستی تنظیم کرد.

MainWindow.xaml

در کد زیر به صورت دستی نام ستون ها و تغییرات ظاهری دیگر را تنظیم کردیم.

<Window x:Class="FirstWpfApplication.MainWindow"  
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
    Title="MainWindow" Height="500" Width="700">  
<Grid Margin="0,-4,0,4">  
    <DataGrid HorizontalAlignment="Left" VerticalAlignment="Top" Height="174" Width="649" Margin="0,275,0,0"   
     AutoGenerateColumns="False" Name="grdFriends">  
        <DataGrid.Columns>  
            <DataGridTextColumn Header="Friend ID" Width="100" Binding="{Binding FriendID}" FontSize="14" FontWeight="Bold" />  
            <DataGridTextColumn Header="Friend Name" Width="300" Binding="{Binding FriendName}" FontSize="14" FontWeight="Bold"  />  
            <DataGridTextColumn Header="Place " Width="100" Binding="{Binding Place}" FontSize="14" FontWeight="Bold"  />  
            <DataGridTextColumn Header="Mobile" Width="100" Binding="{Binding Mobile}" FontSize="14" FontWeight="Bold"  />  
        </DataGrid.Columns>  
    </DataGrid>  
  
</Grid>  
/Window>  

 

DataGrid در WPF

موفق باشید !

داریوش فرخی

داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

ما یک پرسشنامه‌ی کوچولو داریم، که قول میدیم وقتتون رو خیلی نمی‌گیره، ولی کلی به ما کمک می‌کنه، چون هم assessment مونه ,و هم شما به ما در این زمینه کمک میکنید.بزن بریم