本記事の概要
DataGrid は、データを表形式で表示するコントロールです。
この記事では、WPF の DataGrid にデータを表示する基本方法について説明します。
公式サイト情報はコチラを参照してください。
DataGrid の利用イメージ
DataGrid にデータを表示するには、ItemSource プロパティを使用します。
ItemSource にはコレクションデータを設定するのですが、コレクション1つ1つが行データになります。以下にイメージを示します。
DataGrid コントロールの配置
はじめに、新規のWPFプロジェクトを作成し、MainWindow.xaml に DataGridコントロールを配置します。
XAML の例
<Window x:Class="WpfSample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfSample" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <DataGrid x:Name="dataGrid"/> </Grid> </Window>
データクラスの作成
次に、DataGrid に表示するデータを格納するデータクラスを作成します。
ここでは、住所録を想定した AddressData というデータクラスを作成します。
AddressData には、Id、氏名、年齢、郵便番号、住所 用のプロパティを持たせています。
namespace WpfSample { public class AddressData { // Id public string Id { get; set; } // 氏名 public string Name { get; set; } // 年齢 public int Age { get; set; } // 郵便番号 public string ZipCode { get; set; } // 住所 public string Address { get; set; } } }
DataGrid にデータを表示する
DataGrid にデータを表示するために、ItemsSource プロパティに、住所データのコレクションを設定します。
XAML の例(MainWindow.xaml)
using System.Collections.ObjectModel; using System.Windows; namespace WpfSample { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); dataGrid.ItemsSource = new ObservableCollection<AddressData> { new AddressData { Id= "1", Name="山田 棟上", Age=14, ZipCode="037-9950", Address="京都府" }, new AddressData { Id= "2", Name="梶 朱莉", Age=36, ZipCode="736-9872", Address="群馬県" }, new AddressData { Id= "3", Name="砂田 正浩", Age=38, ZipCode="220-9735", Address="鳥取県" }, new AddressData { Id= "4", Name = "宇都宮 修司",Age= 22, ZipCode="286-1928", Address="新潟県" }, new AddressData { Id= "5", Name = "寺崎 尚生", Age=15, ZipCode="382-2430",Address= "愛媛県" } }; } } }
実行例を以下に示します。
Please follow and like us:
コメント