LoginSignup
0
1

More than 5 years have passed since last update.

Visual Studio / WPF > DataGrid > CSで列を追加して、データを追加する

Last updated at Posted at 2017-04-21
動作環境
Windows 7 Pro (32bit)
Microsoft Visual Studio 2017 Community
Sublime Text 2

http://qiita.com/7of9/items/ea8a3f3bca45b22d33c1
で試したWindows Forms ApplicationでのDataGridViewへのデータ追加は、WPFの場合エラーとなる。

WPFでは以下のようにするようだ。
参考: http://stackoverflow.com/questions/11950312/how-to-add-data-to-a-wpf-datagrid-programatically

  1. DataGridViewを追加
    • 名前をdataGridView1としておく
  2. csファイルに以下を実装する
MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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 _170421_WpfApp1
{
    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Window_ContentRendered(object sender, EventArgs e)
        {
            var dg = dataGridView1;
            for (int idx = 0; idx < 4; idx++)
            {
                var column = new DataGridTextColumn();
                column.Header = "Column" + (idx + 1);
                column.Binding = new Binding("Column" + (idx + 1));
                dg.Columns.Add(column);
                //
            }
            dg.Items.Add(new DataItem { Column1 = "a.1", Column2 = "a.2", Column3 = "a.3", Column4 = "a.4" });
            dg.Items.Add(new DataItem { Column1 = "b.1", Column2 = "b.2", Column3 = "b.3", Column4 = "b.4" });
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {

        }
    }

    public class DataItem
    {
        public string Column1 { get; set; }
        public string Column2 { get; set; }
        public string Column3 { get; set; }
        public string Column4 { get; set; }
    }
}

work.png

自分が行いたいこととはまだ違う。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1