C#

【WPF】DataGridの使い方を徹底解説!基本的な操作方法を紹介

データソースを表示および編集する為のコントロールとして「DataGrid」という標準コントロールがWPFには存在します。

データベースのテーブルデータや複数のデータを扱うコレクションクラス(LIST<T>、Dictionary<T>等)の要素を表示することができます。

名無し君
名無し君
WPFの開発では使用頻度が高いコントロールの1つとも言えます。
 他のUIコントロールの使い方も知りたい方はここをクリック!!

画面作成で使う「コントロール」一覧
(種類別に紹介)

\ WPFのコントロールについて詳しくみる /

いざ、DataGridを使おうとしたら「どうやって使ったらいいのか分からない」ということは多いのではないでしょうか。

この記事では、WPFの「DataGrid」の基本的な操作方法を紹介しています。

最後まで読めば、あなたが抱えている問題が解決するかもしれません。ぜひ全部読んでDataGridについて理解を深めてみてください。

プログラミングを更に学びたい方必見

選抜された現役エンジニアから学べるプログラミングスクールで、現場や副業で役に立つノウハウやスキルを習得してみませんか?

オンラインに特化しているので場所に捉われず、自分のライフスタイルに合わせて受講することができます。

副業に興味がある方に人気の「はじめての副業コース」をはじめ、Web開発やシステム開発・アプリ開発などカテゴリ毎に受講ができ、初心者の方でも挫折することなく学ぶことができます。

まずはこの機会に現役のプロに無料相談をしてみましょう。

\ プログラミングスクールの詳細を確認する /

DataGridの使い方を紹介

さっそく、DataGridを画面に表示してみましょう。DataGridを追加する方法は2通りあります。

  1. ツールボックスを展開してウィンドウの中にドラッグ&ドロップして配置する。
  2. XAMLコードに直接記述して配置する。

ここでは②の方法で追加をします。

 

ヘッダー名を追加する

ヘッダー名を設定した状態でアプリケーションを起動するには、列のデータ型を指定して、ヘッダーに表示したい名前をHeaderプロパティにセットします。

名無し君
名無し君
列には基本1つのデータ型しか選択できません。

DataTableなど属性を利用した汎用的なデータの表示機能を開発するケース以外では、自分で列の型を定義する方法が一般的です。データ型の種類は4種類あります。

クラスデータの型
DataGridTextColumnString
DataGridCheckBoxColumnBoolean
DataGridComboBoxColumnEnum
DataGridHyperlinkColumnUri
DataGridTemplateColumnControl

上記の表にあるようにデータ型によって使うクラスが違います。

String型やint型の列はセルが通常のテキストボックスになります。Boolean型の列はセルがチェックボックスになり、Enum型の列はセルがコンボボックス(ドロップダウン)で表示されるようになります。

列に表示するデータ型が決まったら、ヘッダーに表示する名前をHeaderプロパティにセットします。

<Window
    x:Class="Sample.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"
    Title="MainWindow"
    Width="450"
    Height="250"
    mc:Ignorable="d">
    <Grid>
        <DataGrid Margin="10" >
            <DataGrid.Columns>
                <DataGridTextColumn Header="ユーザー名" Width="120"/>
                <DataGridTextColumn Header="名前" Width="120"/>
                <DataGridComboBoxColumn Header="性別" Width="60"/>
                <DataGridCheckBoxColumn Header="会員" Width="60"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>

上記のコードを記述して実行すると次のような結果になります。

 

ヘッダーのスタイルをカスタマイズ

通常はデフォルトのスタイルが適用されます。ヘッダーのスタイルを変更したい場合は、CloumnHeaderStyleでプロパティを指定してスタイルを変更します。

プロパティ説明
CloumnHeaderStyle列のヘッダーを表示する時に使用するスタイルを取得または設定します。
スタイルを適用する型は「DataGridColumnHeader」です。

ここではヘッダーの項目名を中央揃えし、文字色をブルーに変更します。

<Window
    x:Class="Sample.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"
    Title="MainWindow"
    Width="450"
    Height="250"
    mc:Ignorable="d">
    <Grid>
        <DataGrid Margin="10" >
            <DataGrid.ColumnHeaderStyle>
                <Style TargetType="DataGridColumnHeader">
                    <Setter Property="HorizontalContentAlignment" Value="Center"/>
                    <Setter Property="Foreground" Value="Blue"/>
                </Style>
            </DataGrid.ColumnHeaderStyle>
            <DataGrid.Columns>
                <DataGridTextColumn Header="ユーザー名" Width="120"/>
                <DataGridTextColumn Header="名前" Width="120"/>
                <DataGridComboBoxColumn Header="性別" Width="60"/>
                <DataGridCheckBoxColumn Header="会員" Width="60"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>

スタイルが変更されていることを確認してみましょう。上記のコードでデバッグすると次のような画面が表示されます。

 

DataGridのヘッダーを多段表示にする

通常、ヘッダーに表示できる名前は1行のみです。

WPFのDataGridは細かいカスタマイズが可能で、ヘッダーに表示する名前を2段や3段に段数分けすることが可能です。

ヘッダーを多段にする場合はTemplateプロパティを変更します。

ここでは1列目のヘッダーである「ユーザー名」に「ID」というテキストを2段目に追加します。

<Window
    x:Class="Sample.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"
    Title="MainWindow"
    Width="450"
    Height="250"
    mc:Ignorable="d">
    <Window.Resources>
        <Style x:Key="HeaderName" TargetType="DataGridColumnHeader">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="DataGridColumnHeader">
                        <StackPanel>
                            <TextBlock Text="ユーザー名" HorizontalAlignment="Center"/>
                            <TextBlock Text="ID" HorizontalAlignment="Center"/>
                        </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <DataGrid Margin="10" >
            <DataGrid.Columns>
                <DataGridTextColumn HeaderStyle="{StaticResource HeaderName}" Width="120"/>
                <DataGridTextColumn Header="名前" Width="120" />
                <DataGridComboBoxColumn Header="性別" Width="60"/>
                <DataGridCheckBoxColumn Header="会員" Width="60"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>

実行すると、以下のような結果が出力されます。

 

DataGridの列をチェックボックスで表示・非表示にする

チェックボックスがチェックされている場合は特定の列を表示し、チェックされていない場合は特定の列を非表示にするサンプルを紹介します。

列を表示・非表示を制御するプロパティは、「Visibility」です。

このVisibilityプロパティにチェックボックスのIsCheckを単純にバインドするだけでは動作しません。

名無し君
名無し君
Visibilityプロパティは列挙体であるVisibilityの列挙子から選択する必要があるからです。

bool型をVisibilityに変換してバインドすれば制御することが可能となります。(参考サイト

<Window
    x:Class="Sample.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"
    Title="MainWindow"
    Width="450"
    Height="250"
    mc:Ignorable="d">
    <Grid>
        <Grid.Resources>
            <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
            <FrameworkElement x:Key="ProxyColumnVisibility" DataContext="{Binding Path=IsChecked, ElementName=chkBoxShowColumn}" />
        </Grid.Resources>
        <ContentControl Content="{StaticResource ProxyColumnVisibility}" Visibility="Collapsed" />
        <CheckBox
            x:Name="chkBoxShowColumn"
            Margin="10,10,0,0"
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            Content="列を表示" />
        <DataGrid
            x:Name="dataGrid"
            Margin="10,30,10,10"
            AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTextColumn Width="120" Header="ユーザー名" />
                <DataGridTextColumn Width="120" Header="名前" />
                <DataGridComboBoxColumn Width="60" Header="性別" />
                <DataGridCheckBoxColumn
                    Width="60"
                    Header="会員"
                    Visibility="{Binding DataContext, Source={StaticResource ProxyColumnVisibility}, Converter={StaticResource BooleanToVisibilityConverter}}" />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>

実行すると、以下のような結果が出力されます。

「列を表示」にチェックをすることで、4番目の列である「会員」が表示されます。

 

DataGridに行を表示する

行を追加するにはコードバインドして動的にDataGridに行を追加する方法が一般的です。この方法で行を追加する場合は、XAMLとソースコードの両方に記述が必要になります。

まずVisual StudioでWPFアプリのプロジェクトに新しいクラスファイルを追加します。

このクラスにDataGridに表示するためのクラスを定義します。string型と列挙型、bool型のプロパティを持つCustomerクラスとコンストラクタを次のように記述します。

// 性別を表す列挙型
public enum GenderType
{
    None,
    Men,
    Women
}

// DataGridに表示するデータ群
public class Customer
{
    //ユーザー名
    public string UserName { get; set; }
    //名前
    public string Name { get; set; }
    //性別
    public GenderType Gender { get; set; }
    //会員かどうか
    public bool IsMember { get; set; }
    //顧客情報を保持するクラス
    public Customer(string username, string name, GenderType gender, bool ismenber)
    {
        UserName = username;
        Name = name;
        Gender = gender;
        IsMember = ismenber;
    }
}

続けて、行を表示するためのコードをXAMLに記述します。

DataGridの各列は後述するCustomerListクラスのプロパティをバインドします。こうすることで列のヘッダーをカスタマイズした状態で表示することができます。

名無し君
名無し君
DataGridのAutoGeneratedColumnsプロパティをfalseにして列の自動生成機能を無効化しておきましょう。
<DataGrid
    x:Name="DataGrid1"
    Margin="10"
    AutoGenerateColumns="False">
    <DataGrid.ColumnHeaderStyle>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="HorizontalContentAlignment" Value="Center" />
            <Setter Property="Foreground" Value="Blue" />
        </Style>
    </DataGrid.ColumnHeaderStyle>
    <DataGrid.Columns>
        <!--  ユーザー名の表示  -->
        <DataGridTextColumn
            Width="120"
            Binding="{Binding UserName}"
            Header="ユーザー名" />
        <!-- 名前の表示  -->
        <DataGridTextColumn
            Width="120"
            Binding="{Binding Name}"
            Header="名前" />
        <!-- 性別コンボボックスの表示  -->
        <DataGridComboBoxColumn
            x:Name="cmbGender"
            Width="60"
            SelectedValueBinding="{Binding Gender, Mode=TwoWay}"
            DisplayMemberPath="Value"
            Header="性別"
            SelectedValuePath="Key" />
        <!-- 会員チェックボックスの表示  -->
        <DataGridCheckBoxColumn
            Width="60"
            Binding="{Binding IsMember}"
            Header="会員" />
    </DataGrid.Columns>
</DataGrid>

MainWindowのコンストラクタでCustomerクラスのリストをDataGridのItemsSourceプロパティに設定をします。

またGenderNamesプロパティをコンボボックスのItemsSourceプロパティに設定をします。コンボボックスで選択する項目のリストを追加します。ここではEnumの定義名を表示するのではなく、ユーザーが分かる名称に変更してコンボボックスに表示をするようにしています。

using System.Collections.Generic;
using System.Windows;

namespace Sample
{
    public partial class MainWindow : Window
    {
        private List<Customer> customers;

        public MainWindow()
        {
            InitializeComponent();

            //コンボボックスに選択できる項目のリストを追加
            cmbGender.ItemsSource = GenderNames;

            //DataGridに行を追加
            customers = new List<Customer>
        {
            new Customer("yamada", "山田太郎", GenderType.Men, false),
            new Customer("tanaka", "田中直樹", GenderType.Men, true),
            new Customer("satouu", "佐藤七海", GenderType.Women, false),
        };

            DataGrid1.ItemsSource = customers;
        }

        // Enumの定義名変更プロパティ
        public Dictionary<GenderType, string> GenderNames { get; } = new Dictionary<GenderType, string>
        {
            [GenderType.Men] = "男性",
            [GenderType.Women] = "女性",
            [GenderType.None] = "ー",
        };
    }
}

実行すると、以下のような結果が出力されます。

セルを選択してF2キーを押下するか、選択中のセルをクリックすることでセルの編集が可能です。

性別の列はコンボボックスになっており、次のようにアイテムの一覧の中から選択することが可能です。

 

DataGridに行を追加する

画面上のボタンがクリックされたら行を1行追加するサンプルを紹介します。

XAMLに次のコードを記述してボタンを追加します。

<DataGrid
    x:Name="DataGrid1"
    Margin="10,10,10,35"
    AutoGenerateColumns="False">
    <DataGrid.ColumnHeaderStyle>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="HorizontalContentAlignment" Value="Center" />
            <Setter Property="Foreground" Value="Blue" />
        </Style>
    </DataGrid.ColumnHeaderStyle>
    <DataGrid.Columns>
        <!--  ユーザー名の表示  -->
        <DataGridTextColumn
            Width="120"
            Binding="{Binding UserName}"
            Header="ユーザー名" />
        <!-- 名前の表示  -->
        <DataGridTextColumn
            Width="120"
            Binding="{Binding Name}"
            Header="名前" />
        <!-- 性別コンボボックスの表示  -->
        <DataGridComboBoxColumn
            x:Name="cmbGender"
            Width="60"
            DisplayMemberPath="Value"
            Header="性別"
            SelectedValueBinding="{Binding Gender, Mode=TwoWay}"
            SelectedValuePath="Key" />
        <!-- 会員チェックボックスの表示  -->
        <DataGridCheckBoxColumn
            Width="60"
            Binding="{Binding IsMember}"
            Header="会員" />
    </DataGrid.Columns>
</DataGrid>
<Button
    x:Name="btnAdd"
    Margin="10,0,0,5"
    HorizontalAlignment="Left"
    VerticalAlignment="Bottom"
    Click="btnAdd_Click"
    Content="行を追加する" Height="25" />

クリックイベント内でリストに1行追加する処理を記述します。

先ほどはListクラスを使いました。単純にデータを表示するだけならList<T>で問題はありません。

しかし、DataGridに行を追加するとなると話は別です。List<T>クラスはViewへの変更通知を行うことができないので、行を追加することができません。

List<T>クラスではなく、System.Collections.ObjectModelに定義されているObservableCollection<T>クラスに変更をすることで追加することが可能になります。

List<T>クラスのままではItemsSourceプロパティのコレクションが更新されたことがDataGridへ通知されず、DataGridの表示はいくらボタンを押しても更新されません。

ObservableCollection<T>クラスに変更することで、項目が追加または削除された時に、DataGridへ通知がされて表示が更新されます。

このことを踏まえて記述した例が次になります。

public partial class MainWindow : Window
{
    private ObservableCollection customers;

    public MainWindow()
    {
        InitializeComponent();

        //コンボボックスに選択できる項目のリストを追加
        cmbGender.ItemsSource = GenderNames;

        //DataGridに行を追加
        customers = new ObservableCollection
        {
            new Customer("yamada", "山田太郎", GenderType.Men, false),
            new Customer("tanaka", "田中直樹", GenderType.Men, true),
            new Customer("satouu", "佐藤七海", GenderType.Women, false),
        };

        DataGrid1.ItemsSource = customers;
    }

    // Enumの定義名変更プロパティ
    public Dictionary<GenderType, string> GenderNames { get; } = new Dictionary<GenderType, string>
    {
        [GenderType.Men] = "男性",
        [GenderType.Women] = "女性",
        [GenderType.None] = "ー",
    };

    private void btnAdd_Click(object sender, RoutedEventArgs e)
    {
        customers.Add(new Customer("hirose", "広瀬花奈", GenderType.Women, true));
        DataGrid1.ItemsSource = customers;
    }
}

上記を実行すると次のように動作します。

 

DataGridにボタンの列を追加する

DataGridのセルにボタンを追加するには、DataGridTemplateColumnを使います。セルの中に自分で定義したコントロールを入れることができるクラスです。

書き方としては、DataGridTemplateColumn.CellTemplateの中にDataTemplateを記述し、DataTemplateの中にButtonコントロールを記述します。

また、ButtonのTagに”{Bindig}”を指定することで、クリックイベント時にその行にバインドされたデータを取得できるようになります。

<DataGrid
    x:Name="DataGrid1"
    Margin="10,10,10,35"
    AutoGenerateColumns="False">
    <DataGrid.ColumnHeaderStyle>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="HorizontalContentAlignment" Value="Center" />
            <Setter Property="Foreground" Value="Blue" />
        </Style>
    </DataGrid.ColumnHeaderStyle>
    <DataGrid.Columns>
        <!--  ユーザー名の表示  -->
        <DataGridTextColumn
            Width="120"
            Binding="{Binding UserName}"
            Header="ユーザー名" />
        <!-- 名前の表示  -->
        <DataGridTextColumn
            Width="120"
            Binding="{Binding Name}"
            Header="名前" />
        <!-- 性別コンボボックスの表示  -->
        <DataGridComboBoxColumn
            x:Name="cmbGender"
            Width="60"
            DisplayMemberPath="Value"
            Header="性別"
            SelectedValueBinding="{Binding Gender, Mode=TwoWay}"
            SelectedValuePath="Key" />
        <!-- 会員チェックボックスの表示  -->
        <DataGridCheckBoxColumn
            Width="60"
            Binding="{Binding IsMember}"
            Header="会員" />
        <!-- 編集ボタンの表示  -->
        <DataGridTemplateColumn Width="45" Header="編集">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Button
                        x:Name="btnEdit"
                        Click="btnEdit_Click"
                        Content="編集"
                        IsEnabled="{Binding IsEdit}"
                        Tag="{Binding}" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>
<Button
    x:Name="btnAdd"
    Height="25"
    Margin="10,0,0,5"
    HorizontalAlignment="Left"
    VerticalAlignment="Bottom"
    Click="btnAdd_Click"
    Content="行を追加する" />

ソースコード側も上記の変更に合わせて修正を行います。ボタンのイベント処理やプロパティを追加しています。

// 性別を表す列挙型
public enum GenderType
{
    None,
    Men,
    Women
}

// DataGridに表示するデータ群
public class Customer
{
    //ユーザー名
    public string UserName { get; set; }
    //名前
    public string Name { get; set; }
    //性別
    public GenderType Gender { get; set; }
    //会員かどうか
    public bool IsMember { get; set; }
    //編集するかどうか
    public bool IsEdit { get; set; }
    public Customer(string username, string name, GenderType gender, bool ismenber)
    {
        UserName = username;
        Name = name;
        Gender = gender;
        IsMember = ismenber;
    }
}
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows;
using System.Windows.Controls;

namespace Sample
{
    public partial class MainWindow : Window
    {
        private ObservableCollection<Customer> customers;

        public MainWindow()
        {
            InitializeComponent();

            //コンボボックスに選択できる項目のリストを追加
            cmbGender.ItemsSource = GenderNames;

            //DataGridに行を追加
            customers = new ObservableCollection<Customer>
            {
                new Customer("yamada", "山田太郎", GenderType.Men, false, true),
                new Customer("tanaka", "田中直樹", GenderType.Men, true, false),
                new Customer("satouu", "佐藤七海", GenderType.Women, false, true),
            };

            DataGrid1.ItemsSource = customers;
        }

        // Enumの定義名変更プロパティ
        public Dictionary<GenderType, string> GenderNames { get; } = new Dictionary<GenderType, string>
        {
            [GenderType.Men] = "男性",
            [GenderType.Women] = "女性",
            [GenderType.None] = "ー",
        };

        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            customers.Add(new Customer("hirose", "広瀬花奈", GenderType.Women, true, false));
            DataGrid1.ItemsSource = customers;
        }

        private void btnEdit_Click(object sender, RoutedEventArgs e)
        {
            var tag = ((Button)sender).Tag as Customer;
            MessageBox.Show($"ユーザー名:{tag.UserName}\r\n名前:{tag.Name}");
        }
    }
}

このコードを実行すると次のような結果になります。

 

セルのスタイルをカスタマイズする

ヘッダーのスタイルをカスタマイズしたように、セルのスタイルもカスタマイズをすることが可能です。

列のデータ型を指定したクラス(DataGridTextColumn、DataGridCheckBoxColumn等)のElementStyleプロパティで変更をします。

ここではユーザー名の列に属するセルを赤文字にして中央揃えにカスタマイズをします。

<DataGrid
    x:Name="DataGrid1"
    Margin="10,10,10,35"
    AutoGenerateColumns="False">
    <DataGrid.ColumnHeaderStyle>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="HorizontalContentAlignment" Value="Center" />
            <Setter Property="Foreground" Value="Blue" />
        </Style>
    </DataGrid.ColumnHeaderStyle>
    <DataGrid.Columns>
        <!-- ユーザー名の表示  -->
        <DataGridTextColumn
            Width="120"
            Binding="{Binding UserName}"
            Header="ユーザー名" >
            <DataGridTextColumn.ElementStyle>
                <Style TargetType="TextBlock">
                    <Setter Property="HorizontalAlignment" Value="Center" />
                    <Setter Property="Foreground" Value="Red" />
                </Style>
            </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>
        <!-- 名前の表示  -->
        <DataGridTextColumn
            Width="120"
            Binding="{Binding Name}"
            Header="名前" />
        <!-- 性別コンボボックスの表示  -->
        <DataGridComboBoxColumn
            x:Name="cmbGender"
            Width="60"
            DisplayMemberPath="Value"
            Header="性別"
            SelectedValueBinding="{Binding Gender, Mode=TwoWay}"
            SelectedValuePath="Key" />
        <!-- 会員チェックボックスの表示  -->
        <DataGridCheckBoxColumn
            Width="60"
            Binding="{Binding IsMember}"
            Header="会員" />
        <!-- 編集ボタンの表示  -->
        <DataGridTemplateColumn Width="45" Header="編集">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Button
                        x:Name="btnEdit"
                        Click="btnEdit_Click"
                        Content="編集"
                        IsEnabled="{Binding IsEdit}"
                        Tag="{Binding}" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>
<Button
    x:Name="btnAdd"
    Height="25"
    Margin="10,0,0,5"
    HorizontalAlignment="Left"
    VerticalAlignment="Bottom"
    Click="btnAdd_Click"
    Content="行を追加する" />

実行した結果が次の通りです。

 

プログラミングを更に学びたい方必見

選抜された現役エンジニアから学べるプログラミングスクールで、現場や副業で役に立つノウハウやスキルを習得してみませんか?

オンラインに特化しているので場所に捉われず、自分のライフスタイルに合わせて受講することができます。

副業に興味がある方に人気の「はじめての副業コース」をはじめ、Web開発やシステム開発・アプリ開発などカテゴリ毎に受講ができ、初心者の方でも挫折することなく学ぶことができます。

まずはこの機会に現役のプロに無料相談をしてみましょう。

\ プログラミングスクールの詳細を確認する /

まとめ

この記事では、WPFのDataGridコントロールのヘッダーの表示や行の追加方法など基本的な使い方について紹介しました。

DataGridはデータを表示する際によく利用するコントロールなので、是非マスターしておきましょう。

以上、最後まで読んでいただきありがとうございました。

関連記事

【C#】DataGridViewの使い方をマスターしよう!基本的な操作まとめC#のDataGridViewで行の挿入、行の番号取得、列のソート、行の削除、列の幅を調整する方法など基本的なDataGridViewの使い方を紹介しています。DataGridViewはデータを表示する際に使う機会が多いコントロールなので使い方をマスターしておきましょう。...
プログラミングを学習したいなら…

プログラミングスキルを身に付けるなら、プログラミングを効率良く学べる
プログラミングスクール」がオススメです。

特にこんな方にオススメ!!
これからエンジニアを目指したい
プログラミングの専門性を高めたい
プログラミングを学んで副業をしたい
エンジニアに転職して年収をアップさせたい

プログラミングを触ったことがない未経験からでも、プログラミングスクールで学習すれば、エンジニアへ就職・転職することも可能です。

あなたの「行動力」と「やる気」で、あなたの人生を大きく変えるチャンスになることでしょう。

プログラミングスクールに興味がある方は是非チェックしてみてください。

> プログラミングを学ぶ <

COMMENT

メールアドレスが公開されることはありません。

CAPTCHA