Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam panduan ini, Anda mengambil data dari database SQL Server dan menampilkan data tersebut dalam kontrol DataGrid. Anda menggunakan ADO.NET Entity Framework untuk membuat kelas entitas yang mewakili data, dan menggunakan LINQ untuk menulis kueri yang mengambil data yang ditentukan dari kelas entitas.
Prasyarat
Anda memerlukan komponen berikut untuk menyelesaikan panduan ini:
Visual Studio.
Akses ke instans SQL Server atau SQL Server Express yang berjalan yang memiliki database sampel AdventureWorks yang melekat padanya. Anda dapat mengunduh database AdventureWorks dari GitHub.
Membuat kelas entitas
Buat proyek Aplikasi WPF baru di Visual Basic atau C#, dan beri nama
DataGridSQLExample
.Di Penjelajah Solusi, klik kanan proyek Anda, arahkan ke Tambahkan, lalu pilih Item Baru.
Kotak dialog Tambahkan Item Baru muncul.
Di panel Templat terinstal, pilih Data dan dalam daftar templat, pilih ADO.NET Model Data Entitas.
Beri nama file
AdventureWorksModel.edmx
lalu klik Tambahkan.Panduan Model Data Entitas muncul.
Di layar Pilih Konten Model, pilih EF Designer dari database lalu klik Berikutnya.
Di layar Pilih Koneksi Data Anda, berikan koneksi ke database AdventureWorksLT2008 Anda. Untuk informasi selengkapnya, lihat Pilih Kotak Dialog Koneksi Data Anda.
Pastikan bahwa nama adalah
AdventureWorksLT2008Entities
dan bahwa kotak centang Simpan pengaturan koneksi entitas di App.Config sebagai dipilih, lalu klik Berikutnya.Di layar Pilih Objek Database Anda, perluas simpul Tabel, dan pilih tabel Produk dan tabel ProdukKategori.
Anda dapat menghasilkan kelas entitas untuk semua tabel; namun, dalam contoh ini Anda hanya mengambil data dari dua tabel tersebut.
Klik Selesai.
Entitas Product dan ProductCategory ditampilkan di Perancang Entitas.
Mengambil dan menyajikan data
Buka file MainWindow.xaml.
Di editor XAML, tambahkan tag DataGrid berikut antara tag
<Grid>
dan</Grid>
untuk menambahkan DataGrid bernamadataGrid1
.<DataGrid Name="dataGrid1" />
Jendela
Pilih Window.
Menggunakan jendela Properti atau editor XAML, buat penanganan aktivitas untuk Window bernama
Window_Loaded
untuk peristiwa Loaded. Untuk informasi selengkapnya, lihat Cara: Membuat Pengendali Acara Sederhana.Berikut ini menunjukkan XAML untuk MainWindow.xaml.
Nota
Jika Anda menggunakan Visual Basic, di baris pertama MainWindow.xaml, ganti
x:Class="DataGridSQLExample.MainWindow"
denganx:Class="MainWindow"
.<Window x:Class="DataGridSQLExample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="450" Loaded="Window_Loaded"> <Grid> <DataGrid Name="dataGrid1" /> </Grid> </Window>
Buka file code-behind (MainWindow.xaml.vb atau MainWindow.xaml.cs) untuk Window.
Tambahkan kode berikut untuk mengambil nilai-nilai tertentu saja dari tabel-tabel yang digabungkan dan atur properti ItemsSource dari DataGrid dengan hasil kueri.
using System.Data.Entity.Core.Objects; using System.Linq; using System.Windows; namespace DataGridSQLExample { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { AdventureWorksLT2008Entities dataEntities = new AdventureWorksLT2008Entities(); public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { var query = from product in dataEntities.Products where product.Color == "Red" orderby product.ListPrice select new { product.Name, product.Color, CategoryName = product.ProductCategory.Name, product.ListPrice }; dataGrid1.ItemsSource = query.ToList(); } } }
Imports System.Data.Objects Class MainWindow Dim dataEntities As AdventureWorksLT2008Entities = New AdventureWorksLT2008Entities Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded Dim products As ObjectQuery(Of Product) = dataEntities.Products Dim query = _ From product In products _ Where product.Color = "Red" _ Order By product.ListPrice _ Select product.Name, product.Color, CategoryName = product.ProductCategory.Name, product.ListPrice dataGrid1.ItemsSource = query.ToList() End Sub End Class
Jalankan contoh.
Anda akan melihat DataGrid yang menampilkan data.
Lihat juga
.NET Desktop feedback